进程的五态模型包括运行状态、活跃就绪状态、静止就绪状态、活跃阻塞状态和静止阻塞状态。针对下图的进程五态模型,为了确保进程调度的正常工作,(a)、(b)、(c)的状态分别为 (3) ,并增加一条 (4) 。
(4)是()
A.“运行”→(a)的“等待”边
B.“运行”→(b)的“等待”边
C.(a)→“运行”的“恢复或激活”边
D.“活跃就绪”→(b)的“等待”边
参考答案:A
解析:
在多道程序系统中,进程在处理器上交替运行,在运行、就绪和阻塞等3种基本状态之间不断地发生变化。由于进程的不断创建,系统资源(特别是主存资源)己不能满足进程运行的要求。此时就必须将某些进程挂起,对换到磁盘镜像区,暂时不参与进程调度,以平衡系统负载的目的。如果系统出现故障,或者是用户调试程序,也可能需要将进程挂起检查问题。
在图具有挂起状态的进程状态及其转换图中,活跃就绪是指进程在主存并且可被调度的状态。(1)空缺处各选项中,静止就绪是指进程被对换到辅存时的就绪状态,是不能被直接调度的状态,只有当主存中没有活跃就绪态进程,或者是挂起态进程具有更高的优先级,系统将把挂起就绪态进程调回主存并转换为活跃就绪。因此图的(c)空缺处应填入“静止就绪”这一状态。
活跃阻塞是指进程在主存。一旦等待的事件产生,便进入活跃就绪状态。因此图的(a)空缺处应填入“活跃阻塞”。
静止阻塞是指进程对换到辅存时的阻塞状态。一旦等待的事件产生,便进入静止就绪状态。故图的(b)空缺处应填入“静止阻塞”。
由以上分析可知,(1)空缺处的正确答案是选项D。在(2)空缺处中增加一条从“运行”态到“活跃阻塞”态的边,其状态转换原因是“等待”事件(例如I/O请求)发生;或者增加一条从“运行”态到“静止就绪”态的边,其状态转换原因是“挂起”。