整体框架
1、三种基本状态
进程是程序的一次执行。在这个执行过程中,有时进程正在被 CPU
处理,有时又需要等待 CPU
服务,
- 可见进程的状态是会有各种变化。
为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态
① 运行态:
注意
:单核处理机的环境下,每一个时刻最多只有一个进程处于运行态
(双核环境下可以同时有两个进程处于运行态)
② 就绪态:
进程已经拥有除处理机之外所有需要的组员,一旦获得处理机。即可立即进入运行态开始运行
即:万事具备,只欠 CPU
③ 阻塞态:
如:等待操作系统分配打印机、等待读磁盘操作的结果。
CPU
是计算机中最昂贵的部件,为了提高 CPU
的利用率,需要先将其他进程需要的资源分配到位, 才能得到 CPU
的服务
- 例如:运行态中的某个进程向请求
I/O
设备,就需要进入阻塞态,等待这些资源的分配完成再进入就绪态,等待CPU
的服务
2、另外两种状态
操作系统需要完成创建进程。
-
操作系统为该进程分配所需的内存空间等系统资源,
并为其创建、初始化
PCB
(如:为进程分配PID
)
进程运行结束(或者由于 bug
导致进程无法继续执行下去,比如数组越界错误),
- 需要撤销进程。
操作系统需要完成撤销进程
相关的工作。
- 完成将分配给进程的
资源回收
,撤销进程PCB
等工作