3

我试图了解多级反馈队列调度,我从 William Stallings 操作系统内部和原则设计(第 7 版)中发现了以下示例。

我得到了这个过程:

在此处输入图像描述

书中的结果是这样的: 在此处输入图像描述

我相信我正在做正确的第一步,但是当我开始处理ECPU 时间时,我的下一个过程B不是D书中的示例不同。

我不明白是否有,n RQ并且每次进程获得 CPU 时间后,它都会降级为较低的优先级时间RQ,或者,例如,进程A是否在RQ1并且在开头没有进程RQ该进程被提升为准备就绪队列(这就是我正在做的)。

有人可以向我解释在上面的示例中,E处理后如何D获取 CPU 时间并为它们E(而不是B)提供服务的过程吗?

4

1 回答 1

2

多级反馈算法总是选择非空的最低队列(即具有最高优先级的队列)的第一个作业。

当作业 E 离开 RQ1(时间 9)时,作业 D 在队列 RT2 中,而作业 B 在 RT3 中。因此,B被执行。请考虑修改后的数字,其中红色数字表示执行作业的队列。 运行队列

如您所见,作业 B 已在时间 9 离开 RT2(更准确地说,它在时间 6 离开 RT2),而作业 D 刚刚进入。

于 2013-09-04T10:08:49.090 回答