了解多级反馈队列调度
我试图理解多级反馈队列调度,并且我遇到了William Stallings Operating Systems Internal and Principles Design(第7版)中的以下示例。
我得到了这个过程:
书中的结果是这样的:
我相信我正在做第一步,但是当我处理E
CPU时间时,我的下一个过程是B
D
就像本书中的例子。
我无法理解是否存在n
RQ
并且在每次进程获取CPU时间后,将其降级到优先级较低的时间RQ
或者例如,如果进程A
位于RQ1
,并且没有在进程RQ
,则进程被提升到准备好的队列(这就是我所做的)。
有人能解释我的过程,在上面的例子中, E
处理后, D
获得CPU时间,并且它们E
(而不是B
)被服务?
多级反馈algortihm总是选择最低队列的第一个作业(即优先级最高的队列)。
当作业E离开RQ1(时间9)时,作业D在队列RT2中,而作业B在RT3中。 因此,B被执行。 请考虑修改后的数字,其中红色数字表示作业执行的队列。
正如你所看到的,工作B已经在时间9离开了RT2(更多的先前,它在时间6离开了RT2),而工作D刚刚进入。
链接地址: http://www.djcxy.com/p/14849.html上一篇: Understanding multilevel feedback queue scheduling
下一篇: CFS scheduler: how to know which task is assigned to a sched