到达时间的循环调度

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-1A 已被处理一个突发。在时间1-2A 正在处理另一个突发。在时间 2-3 B 正在处理一个突发,等等。

我有时感到困惑的是6-8。从5-6 开始再次处理B。然后C 从时间6-7C 再次从时间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

【讨论】:

以上是关于到达时间的循环调度的主要内容,如果未能解决你的问题,请参考以下文章

到达间隔时间可以与任何逻辑调度块一起使用吗?

五种进程调度算法的总结;

进程调度模拟程序

实验三进程调度模拟程序2.0

实验三进程调度模拟程序2.0

实验三进程调度模拟程序