0

The question I am looking to solve is :
Which state change occurs as a result of non preemptive action

  1. From WAIT to READY
  2. From READY to RUNNING
  3. From RUNNING to READY
  4. From RUNNING to WAIT

As per my understanding as its a non preemptive action. So it cant be 3,1 But not sure any suggestions or comments ?

4

1 回答 1

0

一般的经验法则是,如果一个进程可以从 RUNNING 转换为 READY 不是由于它的操作,那么系统是抢占式的。所以,(3) 只能发生在抢占式系统中。其余选项可以出现在非抢占式系统中。以下是示例:

  1. 当进程的 IO 请求已得到服务并且现在准备就绪时,可能会发生 WAIT to READY。
  2. READY to RUNNING 可能发生在选择执行运行队列中的进程时。
  3. RUNNING to READY 只发生在抢占式系统中。
  4. RUNNING to WAIT 可能发生在进程请求 IO 时,现在必须等待 IO 请求处理完毕。

因此,选项 1、2 和 4 可能由于非抢占行动而发生。

于 2020-12-12T20:58:03.067 回答