进程的五态模型包括运行状态、活跃就绪状态、静止就绪状态、活跃阻塞状态和静止阻塞状态。针对图7-2的进程五态模型,为了确保进程调度的正常工作,(a)、(b)和(c)的状态分别为(55),并增加一条(56)。

admin2019-05-04  25

问题 进程的五态模型包括运行状态、活跃就绪状态、静止就绪状态、活跃阻塞状态和静止阻塞状态。针对图7-2的进程五态模型,为了确保进程调度的正常工作,(a)、(b)和(c)的状态分别为(55),并增加一条(56)。


选项 A、“运行”→(a)的“等待”边
B、“运行”→(b)的“等待”边
C、(a)→“运行”的“恢复或激活”边
D、“活动就绪”→(b)的“等待”边

答案A

解析 一个进程从创建而产生至撤销而消亡的整个生命周期,可以用一组状态加以刻画,为了便于管理进程,把进程划分为几种状态,分别有三态模型、五态模型。
   1.三态模型
   按进程在执行过程中的不同状况至少定义3种不同的进程状态:
   (1)运行态  占有处理器正在运行。
   (2)就绪态  具备运行条件,等待系统分配处理器以便运行。
   (3)等待态(阻塞态)  不具备运行条件,正在等待某个事件的完成。
   一个进程在创建后将处于就绪状态。每个进程在执行过程中,任一时刻必处于上述三种状态之一。同时,在一个进程执行过程中,它的状态将会发生改变。图7-3表示进程的状态转换。
  
   运行状态的进程将由于出现等待事件而进入等待状态,当等待事件结束之后等待状态的进程将进入就绪状态,而处理器的调度策略又会引起运行状态和就绪状态之间的切换。引起进程状态转换的具体原因如下。
   (1)运行态→等待态  等待使用资源;如等待外设传输;等待人工干预。
   (2)等待态→就绪态  资源得到满足;如外设传输结束;人工干预完成。
   (3)运行态→就绪态  运行时间片到:出现有更高优先权进程。
   (4)就绪态→运行态  CPU空闲时选择一个就绪进程。  
   2.五态模型
   在三态模型中,总是假设所有的进程都在内存中。事实上,可能出现这样一些情况,例如,由于进程的不断创建,系统的资源已经不能满足进程运行的要求,这个时候就必须把某些进程挂起,对换到磁盘镜像区中,暂时不参与进程调度,起到平滑系统操作负荷的目的。引起进程挂起的原因是多样的,主要有:
   (1)系统中的进程均处于等待状态,处理器空闲,此时需要把一些阻塞进程对换出去,以腾出足够的内存装入就绪进程运行。
   (2)进程竞争资源,导致系统资源不足,负荷过重,此时需要挂起部分进程以调整系统负荷,保证系统的实时性或让系统正常运行。
   (3)把一些定期执行的进程(如审计程序、监控程序、记账程序)对换出去,以减轻系统负荷。
   (4)用户要求挂起自己的进程,以便根据中间执行情况和中间结果进行某些调试、检查和改正。
   (5)父进程要求挂起自己的后代子进程,以进行某些检查和改正。
   (6)操作系统需要挂起某些进程,检查运行中资源使用情况,以改善系统性能;当系统出现故障或某些功能受到破坏时,需要挂起某些进程以排除故障。
   图7-4给出了具有挂起进程功能的系统中的进程状态。在此类系统中,进程增加了两个新状态:静止就绪态和静止阻塞态。为了区别,而把三态模型中的等待态改名为活跃阻塞态,就绪态改名为活跃就绪态。静止就绪态表明了进程具备运行条件但目前在二级存储器中,只有当它被对换到主存才能被调度执行。静止阻塞态则表明了进程正在等待某一个事件且在二级存储器中。
   
    引起进程状态转换的具体原因如下。
   (1)活跃阻塞态→静止阻塞态  如果当前不存在活跃就绪进程,那么至少有一个等待态进程将被对换出去成为静止阻塞态;操作系统根据当前资源状况和性能要求,可以决定把活跃阻塞态进程对换出去成为静止阻塞态。
   (2)静止阻塞态→静止就绪态  引起进程等待的事件发生之后,相应的静止阻塞态进程将转换为静止就绪态。
   (3)静止就绪态→活跃就绪态  当内存中没有活跃就绪态进程,或者静止就绪态进程具有比活跃就绪态进程更高的优先级,系统将把静止就绪态进程转换成活跃就绪态。
   (4)活跃就绪态→静止就绪态  操作系统根据当前资源状况和性能要求,也可以决定把活跃就绪态进程对换出去成为静止就绪态。
   (5)静止阻塞态→活跃阻塞态  当一个进程等待一个事件时,原则上不需要把它调入内存。但是,当一个进程退出后,主存已经有了一大块自由空间,而某个静止阻塞态进程具有较高的优先级并且操作系统已经得知导致它阻塞的事件即将结束,此时便发生了这一状态变化。
   不难看出,一个挂起进程等同于不在主存的进程,因此挂起的进程将不参与进程调度直到它们被对换进主存。一个挂起进程具有如下特征。
   (1)该进程不能立即被执行。
   (2)挂起进程可能会等待一个事件,但所等待的事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件。
   (3)进程进入挂起状态是由于操作系统、父进程或进程本身阻止它的运行。
   (4)结束进程挂起状态的命令只能通过操作系统或父进程发出。
   对照试题中的图7-2和分析中的图7-4,显然,(a)是活跃阻塞,(b)是静止阻塞,(c)是静止就绪。同时,还要增加一条从运行态到活跃阻塞态(a)的线,其状态转换原因是“等待事件发生”,和一条从运行态到静止就绪态(c)的线,其状态转换原因是“挂起”。
转载请注明原文地址:https://jikaoti.com/ti/CwJ7FFFM
0

随机试题
最新回复(0)