进程基础与控制原创
资源分配
和调度
的一个独立单位。
调度
是指操作系统决定让那个进程上CPU运行。
进程实体(映像)
由PCB
、程序段
、数据段
组成,是静态的。
# 进程与程序的区别
程序
是静态的,是存放在磁盘里的可执行文件,是一系列的指令集合。
进程
是动态的,是程序的一次执行过程。
一图看进程基础。
点击查看
# PCB
PCB
(Preocess Control Block,进程控制块)是进程存在的唯一标志,当进程被创建时,操作系统为其创建PCB,当进程结束时,系统会回收其PCB。
操作系统对进程进行管理工作所需的信息都存在PCB
中。
# PCB 存储的信息
- 进程描述信息
- 进程控制和管理信息
- CPU、磁盘、网络流量使用情况统计
- 当前进程状态:运行、就绪、阻塞、创建、终止。
- 资源分配信息
- 正在使用哪些文件
- 正在使用哪些内存区域
- 正在使用哪些I/O设备
- 处理机相关信息
- PSW
- PC等各种寄存器的值
用于实现进程切换
# 进程特征
- 动态性
- 并发性
- 独立性
- 异步型
- 结构性
# 进程状态
一图看进程控制。
点击查看
# 创建态
进程被创建时,操作系统会为进程分配资源、初始化PCB。
# 就绪态
- 当进程创建完成后,边进入
就绪态
,具备运行太监,但由于没有空闲CPU,所以暂时不能运行。 - 处于
阻塞态
的进程的等待某个事件发生,该进程会从阻塞态
变为就绪态
。
# 运行态
进程在CPU上运行,CPU会执行该进程对应的程序(指令序列)。
# 阻塞态
进程在运行的过程中,可能会等待某个事件的发生(如:等待打印),该进程无法继续往下执行。操作系统便让该系统下CPU,并让它进入阻塞态
,若CPU空闲,会选择另一个就绪态
的进程上CPU运行。
# 终止态
进程在执行完毕后,执行exit
系统调用,请求操作系统终止该进程,操作系统让该进程下CPU,并回收内存空间等资源,最后还要回收该进程的PCB。
# 进程控制
即进程状态转换,使用原语实现。
# 就绪态 -> 运行态
进程被调度
# 运行态 -> 就绪态
时间片到,或处理机被抢占
# 运行态 -> 阻塞态
进程自身的主动行为。
进程用系统调用的方式请求某种系统资源,或请求等待某个事件发生。
# 阻塞态 -> 就绪态
不是进程自身能控制的被动行为。
申请的资源被分配,或等待的事件发生。
# 运行态 -终止态
进程运行结束,或运行过程遇到不可修复的错误。
警告
不能直接从就绪转到阻塞。
# 进程的创建
# 进程的终止
# 进程的阻塞
# 进程的唤醒
# 进程的切换
# 进程的组织方式
# 链式方式
按照进程状态将PCB分为多个队列。
操作系统持有指向各个队列的指针。
# 索引方式
根据进程状态的不同,建立几张索引表。
操作系统持有指向各个索引表的指针。
上次更新: 2022/08/23, 18:12:45