0

不确定我是否正确理解了 RR 的概念。

假设我已经准备好三个进程进行 CPU 处理:

A - 第一优先级 - 需要 2 分钟的 CPU 时间;

B - 第三优先级 - 5 分钟;

C - 第二优先级 - 10 分钟;

因此,为了计算“纸上”的平均周转时间,我可以假设quantum=1 分钟并根据它们的优先级(ACB 等)处理所有内容。

但是一分钟对于“真正的”量子来说太大了,对吧?如果quantum=10-100毫秒,一切都会切换得如此之快以至于任务顺序变得无关紧要吗?我是否应该假设每个作业只会消耗等量(1/3)的 CPU 时间并从那里开始?例如,A 将在 2*3=6 分钟后结束,B 将在 (5-2)*2+6=12 分钟后结束,C 将在 10-2-3+12=17 分钟后结束。因此平均 tat 是 (6+12+17)/3=11.66?或者这只是荒谬的?

4

1 回答 1

1

如果进程 A、B 和 C 需要如下执行时间,

A -  2 minutes
B -  5 minutes
C - 10 minutes

然后循环调度将为您提供以下周转时间,如果优先级顺序是 A 后 C 后 B。

A -  4 minutes
B - 12 minutes
C - 17 minutes

进程的执行如下:

Time->  1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17 
        A - C - B - A - C - B - C - B - C - B - C - B - C - C - C - C - C
                    ^                               ^                   ^ 
                    |                               |                   |
                 Process A                       Process B           Process C
                 Completed                       Completed           Completed

记住顺序在循环调度中确实很重要,因为在这种情况下,平均周转时间仅为 (4+12+17)/3=11。

于 2013-03-30T17:27:53.207 回答