📜  门| GATE-CS-2007 |第 56 题

📅  最后修改于: 2021-09-24 06:35:26             🧑  作者: Mango

虚拟内存系统使用先进先出 (FIFO) 页面替换策略并为进程分配固定数量的帧。考虑以下语句:

P: Increasing the number of page frames allocated to a 
   process sometimes increases the page fault rate.
Q: Some programs do not exhibit locality of reference. 

以下哪一项是正确的?
(A) P 和 Q 都为真,Q 是 P 的原因
(B) P 和 Q 都是真的,但 Q 不是 P 的原因。
(C) P 为假,但 Q 为真
(D) P 和 Q 都是假的答案:(乙)
解释:

先进先出页面替换算法:这是最简单的页面替换算法。在该算法中,操作系统跟踪队列中内存中的所有页面,最旧的页面在队列的前面。当一个页面需要被替换时,队列前面的页面被选中进行删除。

FIFO 页替换算法受到 Belady 异常的影响:

Belady’s anomaly 指出,当增加页框数量时,可能会出现更多页面错误。

解决方案:

语句 P:增加分配给进程的页帧数有时会增加页面错误率。

正确,因为 FIFO 页面替换算法存在上述声明的 belady 异常。

声明 Q:有些程序不显示引用的局部性。正确,局部性经常发生,因为代码包含倾向于通过索引引用数组或其他数据结构的循环。所以我们可以编写一个不包含循环且不表现出局部性的程序。

因此,语句 P 和 Q 都是正确的,但 Q 不是 P 的原因,因为对于某些特定的页面引用模式会发生 Belady 异常。

参见 https://www.geeksforgeeks.org/operating-systems-set-13/ 的问题 1

参考 :
https://www.geeksforgeeks.org/page-replacement-algorithms-in-operating-systems/

此解决方案由Nitika Bansal 提供
这个问题的测验