进程管理(七)-进程状态与转换

进程管理(七)-进程状态与转换

进程的状态

一个进程的生命期可以划分为一组状态,这些状态刻划了整个进程。系统根据PCB 结构中的状态值控制进程。

在进程的生命期内,一个进程至少具有三种基本状态:执行状态、等待状态和就绪状态。

执行状态

单CPU系统中,任一时刻处于执行状态的进程只能有一个。

就绪状态

就绪状态的进程已经得到除 CPU之外的其他资源,只要经由调度得到处理机,便可立即投入执行。

有些系统为了有效利用内存,就绪状态进一步分为内存就绪状态和外存就绪状态。但是这也增加了系统开销和系统复杂性。

内存就绪状态

只有处于内存就绪状态的进程在得到处理机后才能立即投入执行

外存就绪状态

处于外存就绪状态的进程只有先成为内存就绪状态后,才可能被调度执行

阻塞状态

进程因等待某个事件发生而放弃处理机进入等待(阻塞)状态。

阻塞状态按照条件划分

等待状态可根据等待事件的种类进一步划分为不同的子状态,例如内存等待、设备等待、文件等待和数据等待等。

好处:
这样做的好处是系统控制简单,发现和唤醒相应的进程较为容易。

坏处:
但系统中设置过多的状态会造成系统参数和状态转换过程的增加。

进程的状态转换

转换条件

1.进程状态反映进程执行过程的变化。
2.这些状态随着进程的执行和外界条件发生变化和转换。
3.进程的状态转换除了要使用不同的控制过程,有时还要借助于硬件触发器才能完成。

挂起操作

什么是挂起操作

进程暂时被淘汰出内存

引入原因

1.终端用户的需要
2.父进程请求
3.负荷调节需要
4.操作系统需要,引入进程“挂起”操作(进程暂时被淘汰出内存)

挂起过程可能发生状态转换

1.活动就绪→静止就绪
2.活动阻塞→静止阻塞
3.静止就绪→活动就绪
4.静止阻塞→活动阻塞。

原文地址:https://www.cnblogs.com/mengxiaoleng/p/11618224.html