我们希望在单处理器系统上调度三个进程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
这个问题的测验