版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
创建状态(new):进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。==如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态==
就绪状态(ready):进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行
执行状态(running):进程处于就绪状态被调度后,进程进入执行状态
阻塞状态(waiting):正在执行的进程由于某些事件(I/O请求,申请缓存区失败、在程序中调用sleep(xx secs)函数 )而暂时无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用
终止状态(terminated):进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行
如果进程运行时间片使用完也会进入就绪状态,或者进程正在运行,但被更高优先级的进程抢先了,也会由running转为ready。
另外为用户观察需要,进程还有挂起和激活两种操作。挂起后进程处于静止状态进程不再被系统调用,对于操作是激活操作。
在进程调度时,上图中,标有黄色标注的地方都有可能发生进程调度。
其中,1和4是非抢占式调度。
而2、3、3’是抢占式调度(抢占式调度会保证在任意时刻,占有处理机的进程都是当前进程中优先级最高的进程)。