我们希望在单处理器系统上调度三个进程 P1、P2 和 P3。进程的优先级、CPU 时间要求和到达时间如下所示。
Process | Priority | CPU time required | Arrival time (hh:mm:ss) |
P1 | 10(highest) | 20 sec | 00:00:05 |
P2 | 9 | 10 sec | 00:00:03 |
P3 | 8 (lowest) | 15 sec | 00:00:00 |
我们可以选择抢占式或非抢占式调度。在抢占式调度中,迟到的高优先级进程可以抢占当前运行的低优先级进程。在非抢占式调度中,迟到的更高优先级进程必须等待当前正在执行的进程完成才能在处理器上进行调度。
分别使用抢占式和非抢占式调度的 P2 的周转时间(从到达到完成的时间)是多少。
(A) 30 秒、30 秒
(B) 30 秒、10 秒
(C) 42 秒,42 秒
(D) 30 秒、42 秒答案: (D)
说明:对于非抢占式调度
P3(AT=0) | P1(AT=5) | P2(AT=3) |
0 15 35 45
周转时间 = 完成时间 – 到达时间 = 45 -3 = 42
抢占式调度
P3 | P3 | P3 | P2 | P2 | P1 | P2 | P3 |
0 1 2 3 4 5 25 33 45
周转时间 = 完成时间 – 到达时间 = 33 – 3 = 30
这个问题的测验