【OS笔记 8】进程的状态及状态转换

由于多个进程在并发执行时共享系统资源,致使它们在运行过程中呈现间断性的运行规律,所以进程在其生命周期内可能具有多种状态。

一、进程的三种基本状态

1. 就绪状态

进程已分配到除CPU之外的所有必要资源,只要再获得CPU,便可立即执行。

2. 执行状态

进程已获得CPU,正在执行。(多处理机系统中,则有多个进程处于执行状态)

3. 阻塞状态

正在执行的进程由于发生某时间(如I/O请求、申请缓冲区失败等)暂时无法继续执行的状态,即进程的执行受到阻塞。


二、三种基本状态的转换

【OS笔记 8】进程的状态及状态转换


三、创建状态和终止状态

1. 创建状态

进程正在创建的状态。创建工作尚未完成(即未进入就绪状态),进程不能被调度运行。

2. 终止状态

进程正常或异常结束,移出就绪队列,但尚未被撤销时的状态。
终止需要经过两个步骤:① 等待操作系统进行善后处理 ② 将进程的PCB清零,并将PCB空间返还系统



四、五种状态的转换

【OS笔记 8】进程的状态及状态转换



五、挂起操作

在许多系统中,为了系统和用户观察分析进程的需要,还引入了挂起操作。

程序被挂起,意味着进入静止状态

如果程序正处于执行状态,它将暂停执行。

如果程序正处于就绪状态,它将暂不接受调度。

1. 引入原因

(1)终端用户的需要

用户发现自己的程序有可疑问题,希望暂停时,可以使用挂起使之停止。

(2)父进程请求

有时父进程希望挂起自己的某个子进程,以便考察和修改。

(3)负荷调节的需要

实时系统中的工作负荷较重时,可以将一些不重要的进程挂起。

(4)操作系统的需要

操作系统有时需要挂起某些进程,以便检查运行中的资源使用情况或进行记账。

2. 引入挂起操作后的状态转换图

【OS笔记 8】进程的状态及状态转换