Scheduled tasks 带到达时间的循环调度
所以在课堂上,我的教授复习了循环调度。考虑这种情况:Scheduled tasks 带到达时间的循环调度,scheduled-tasks,scheduling,round-robin,Scheduled Tasks,Scheduling,Round Robin,所以在课堂上,我的教授复习了循环调度。考虑这种情况: 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
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
A: 2
B: 2
A: 1
C: 2
B: 2
C: 2
B: 1
Average waiting time: 4.0
有时,0-1
,A
被处理一次突发。在时间1-2
,A
正在处理另一个突发。在时间2-3
B
正在处理突发,以此类推
我感到困惑的是有时6-8
<代码>B从时间5-6
开始再次处理。然后从时间6-7
开始C
,再从时间7-8
开始C
。难道不是这样吗:
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
首先,每个循环问题都是基于quantum的。(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在时间2结束后,B将被添加到队列中,因为它已经到达,然后A将被添加回队列中,因为它尚未完成执行,而C还不可用。作业C将在B使用其第一个量程后的时间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
A: 2
B: 2
A: 1
C: 2
B: 2
C: 2
B: 1
Average waiting time: 4.0
看起来确实应该像你说的那样,但是问问你的教授怎么样?这可能只是他/她的一个错误。很抱歉,我没有被允许发布图片,所以我没有详细说明。平均等待时间=(4+6+4)/3=14/3=4.66