到达时间的循环调度
Posted
技术标签:
【中文标题】到达时间的循环调度【英文标题】:Round-Robin Scheduling with Arrival Times 【发布时间】:2013-03-06 07:48:49 【问题描述】:所以在课堂上,我的教授正在讨论循环调度。考虑这种情况:
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
。从5-6
开始再次处理B
。然后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
【问题讨论】:
看起来应该如你所说,但问问你的教授怎么样?这可能只是他/她的一个错误。 【参考方案1】:起初,每个循环问题都是基于量子的。(前量子 = 4)。这意味着每个过程都将花费相同的量子时间来执行。 对于你的例子,如果量子 = 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
【讨论】:
对不起,我没有被允许发布图片,所以我没有详细说明。 平均等待时间 = (4+6+4)/3 = 14/3 = 4.66【参考方案2】:我认为其他答案不正确。进程 A 在时间 2 结束后,B 将被添加到队列中,因为它已经到达,然后 A 将被添加回队列,因为它尚未完成执行并且 C 尚不可用。作业 C 将在 B 使用其第一个量程后的第 4 时间添加到队列中。正确的顺序应该如下:
A: 2
B: 2
A: 1
C: 2
B: 2
C: 2
B: 1
Average waiting time: 4.0
【讨论】:
以上是关于到达时间的循环调度的主要内容,如果未能解决你的问题,请参考以下文章