不确定我是否正确理解了RR的概念。
假设我有三个进程准备被CPU占用:
A -第一优先级-需要2分钟的CPU时间;
B -第三优先级- 5分钟;
C -第二优先级- 10分钟;
因此,为了计算"纸上"的平均周转时间,我可以假设量子=1分钟,并根据它们的优先级(A-C-B等)处理所有内容。
但是一分钟对于一个"真实的"量子来说太大了,对吧?如果量子=10-100毫秒,是否所有的事情都切换得如此之快,以至于任务顺序变得无关紧要?我是否应该假设每个作业消耗的CPU时间相等(1/3),然后从那里开始?例如,A将以2*3=6分钟结束,B将以(5-2)*2+6=12分钟结束,C将以10-2-3+12=17分钟结束。因此平均值是(6+12+17)/3=11.66?还是说这太荒谬了?
如果进程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。