目录
一、进程管理
进程:系统分配资源的最小单位
资源 :内存、网络、硬盘
cpu:多核cpu,把多个cpu打包捆绑在一起,安装在电脑,每个cpu核心都可以执行进程的代码
二、系统管理进程
会先创建一个进程的pcb结构体(用于描述进程信息)有:
- pid:标识进程的身份
- 状态:包括运行、阻塞等状态
- 文件描述符表:定位硬盘中的文件;默认创建3个文件描述符
- 资源清单:io设备,硬盘中的文件
- 调度信息
- 上下文
三、系统对进程的调度:
涉及的算法:
时间片轮转调度算法(一个cpu以时间片轮转调度的方式,依次执行多个进程)
上下文:
时间片切换出去,保留上下文,切换回来,才恢复下文
进程的状态:
阻塞
创建--(系统调度)--就绪----------运行
并发:
一个cpu以时间轮转调度的方式,执行多个进程,给我们感觉像是同时执行(实际是肉眼无法感知的小范围时间)
并行:
多个cpu在同一时间,同时执行多个进程。
抢占式的进程:
有优先级比较高的任务,就需要以抢占式的方式,优先执行
四、进程的虚拟地址空间:
通过进程的虚拟地址空间,映射到物理内存
虚拟地址空间:
- 隔离多个进程的内存;
- 屏蔽物理内存在不同的操作系统使用的细节;
虚拟内存:
- 现代操作系统,都会使用一种虚拟内存的技术,用于在某些进程进入阻塞等不活跃的状态,把进程需要的数据,放在硬盘中。
进程要加载某些数据:
- 通过虚拟地址空间,查找对应的物理内存中的数据
- 如果找不到,就会产生一个缺页式中断,就会再次从虚拟内存保存在硬盘的部分去找。