所以在课堂上,我的教授正在进行循环调度。考虑这种情况:
Job | Arrival | Burst
A | 0 | 3
B | 1 | 5
C | 3 | 4
我的教授写下了如下结果:
Time
1 2 3 4 5 6 7 8 9 10 11 12
A A B A B B C C B C B C
有时0-1
,A
已被处理一次爆发。在时间1-2
,A
正在处理另一次爆发。在时间2-3
B
正在处理爆发,等等。
我有点困惑的是有时候6-8
。从时间B
再次处理5-6
。然后C
从时间6-7
,和C
再次从时间7-8
。不应该是这样的:
Time
1 2 3 4 5 6 7 8 9 10 11 12
A A B A B C B C B C B C
起初,每个循环问题都基于量子(ex-quantum = 4)。这意味着每个进程都需要相同的量子时间来执行。对于你的例子,如果quantum = 2。然后它似乎
A B C A B C B
0 - 2 - A
2 - 4 - B
4 - 6 - C
6 - 7 - A
7 - 9 - B
9 - 11 - c
11 -12 - B
等待时间等待时间=(最终执行的开始时间 - 上次执行的循环 - 到达时间)
A – (6-2-0)=4
B – (11-(2+2)-1)=6
C – (9-2)-3=4
Average waiting time = (4+6+4)/3 = 14/3 = 4.66
我相信其他答案是不正确的。在进程A在时间2结束之后,B将被添加到队列中,因为它已到达,然后A将被添加回队列,因为它尚未完成执行且C尚未可用。在B利用它的第一个量子之后,作业C将在时间4被添加到队列中。正确的顺序应如下:
A: 2
B: 2
A: 1
C: 2
B: 2
C: 2
B: 1
Average waiting time: 4.0