我正在尝试理解多级反馈队列调度,我从William Stallings操作系统内部和原理设计(第7版)中看到了以下示例。
我得到了这个过程:
本书的结果如下:
我相信我正在迈出第一步,但是当我处理E
CPU时间时,我的下一个过程是B
而不是D
,就像书中的示例一样。
我无法理解是否有n
RQ
并且在每次进程获得CPU时间之后将其降级为较低优先级时间RQ
或者例如,进程A
位于RQ1
,çowerRQ
没有进程,进程被提升为该就绪队列(这就是我的工作方式)。
有人可以向我解释一下过程如何在上面的例子中处理E
后,D
获得CPU时间,而E
(而不是B
)是供应
答案 0 :(得分:2)
多级反馈算法总是选择最低队列的第一个作业(即优先级最高的队列)非空。
当作业E离开RQ1(时间9)时,作业D在队列RT2中,但作业B在RT3中。因此,执行B.请考虑修改后的数字,其中红色数字给出了执行作业的队列。
正如您所看到的,作业B已经在时间9离开了RT2(更重要的是,它在时间6处离开了RT2),而作业D刚刚进入。