循环调度 - 如果突发时间很长/量子很短,那么优先级是否重要?

时间:2013-03-30 17:19:05

标签: scheduling round-robin

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

假设我已准备好三个进程CPU:

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

B - 第3优先 - 5分钟;

C - 第二优先 - 10分钟;

因此,为了计算“纸上”的平均周转时间,我可以假设量子= 1分钟并根据其优先级(A-C-B等)处理所有内容。

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

1 个答案:

答案 0 :(得分: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.