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