个人Linux操作系统学习笔记6 - 操作系统与进程初识

目录


冯诺依曼体系

结论:

  • 在数据层面上,cpu不会和外设之间打交道(输入or输出)

    cpu读写数据,只会和内存打交道

  • 我们口中的输入输出设备,是站在内存的角度

    也相当于站在加载到内存中的程序的角度

    InputOutput,也就是IO

重谈效率问题

计算机数据流动的过程,本质就是数据拷贝的过程

计算机的效率问题,由设备的拷贝效率决定!

存储设备的效率------拷贝的效率

操作系统

任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括

  • 内核(进程管理,内存管理,文件管理,驱动管理)

  • 其他程序(例如函数库,shell程序等等)

内核4大功能:

  • 内存管理

  • 文件管理

  • 驱动管理

  • 进程管理

为什么要有操作系统

  • 对下,与硬件交互,管理所有的软硬件资源

  • 对上,为用户程序(应用程序)提供⼀个良好的执行环境

操作系统,是一款进行软硬件资源管理的软件!

理解OS管理的本质:

先描述,再组织!

c++语言中,为什么有类和STL?

把现实世界的问题,进行计算机建模的核心规律!

进程

概念:

课本里进程的概念:运行起来的程序,内存中的程序

内核观点:担当分配系统资源(CPU时间,内存)的实体。

当前:进程 = 内核数据结构(task_struct) + 自己的程序代码和数据

程序/可执行文件,指令的本质:程序

(磁盘上的普通文件)

在我们还没有启动进程之前,第一款启动的软件是操作系统

操作系统也在内存里!

操作系统怎么管理进程?

在操作系统内先描述一个进程(用一个结构体对象进行描述)

如何描述进程?

进程信息被放在⼀个叫做进程控制块的数据结构中,可以理解为进程属性的集合

课本上称之为PCB(process control block), Linux 操作系统下的 PCB 是: task_struct

PCB是一个总成,task_struct是PCB的一种。

即 在 Linux 中描述进程的结构体叫做 task_struct

task_struct 是 Linux 内核的⼀种数据结构类型,它会被装载到RAM(内存)里并且包含着进

程的信息。

程序的本质是在磁盘上的一个文件

执行命令的本质就是启动进程

相关推荐
m4Rk_9 分钟前
【论文阅读】Agent 记忆机制(28):MEM1——将记忆压缩融入推理,实现近似恒定上下文的长程智能体
论文阅读·人工智能·学习·开源·github
尤乐娃子13 分钟前
进入大厂(厂子大)实习Day8
前端·笔记·实习
一只小菜鸡..16 分钟前
南京大学 操作系统 (JYY) 学习笔记:持久化的黑魔法——从磁铁、刻坑到闪存电荷
服务器·笔记·学习
aFakeProgramer25 分钟前
Linux版本兼容问题及RTA-VRTE环境配置笔记
linux·笔记
Zhu75829 分钟前
在Ubuntu24快速配置专用SFTP
linux·sftp
码农客栈1 小时前
Linux 内核顶层 Makefile 详解
linux
Embedded-Xin1 小时前
Rust学习——Cargo工具
linux·学习·架构·rust·嵌入式
weixin_435776111 小时前
2026年长沙托育vi设计从风格定位到元素运用的设计方法
linux·运维·服务器·python
龙仔7252 小时前
RustDesk 完整笔记
运维·笔记·rust·远程工具·rustdesk
恣逍信点2 小时前
《凌微经 · 理悖相涵》导论:“我思”事实——知识理论之根基
人工智能·科技·学习·生活·量子计算·交友·哲学