操作系统页面置换FIFO算法中的Belady现象

Posted 杨东冀@pku

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统页面置换FIFO算法中的Belady现象相关的知识,希望对你有一定的参考价值。

采用FIFO算法时,如果对—个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。Belady现象可形式化地描述为:一个进程户要访问M个页,OS分配舻个内存页面给进程P;对一个访问序列S,发生缺页次数为PE(占,N)。当N增大时,PE(S,N)时而增大时而减小。Belady现象的原因是FIFO算法的置换特征与进程访问内存的动态特征是矛盾的,即被置换的页面并不是进程不会访问的。

先进先出算法(FIFO)。选择装入最早的页面置换。可以通过链表来表示各页的装入时间先后。FIFO的性能较差,因为较早调入的页往往是经常被访问的页,这些页在FIFO算法下被反复调入和调出,并且有Belady现象。

 Belady现象的描述:一个进程P要访问M个页,OS分配N(N<M)个内存页面给进程P;对一个访问序列S,发生缺页次数为PE(S,N).当N增大(且N小于M)时,PE(S, N)时而增大,时而减小。
FIFO是最早出现的页置换算法之一。Belady现象的原因是FIFO算法的置换特征与进程访问内存的动态特征是矛盾的,即被置换的页面并不是进程不会访问的,因而FIFO并不是一个好的置换算法。
belady和抖动并不完全一样。

以上是关于操作系统页面置换FIFO算法中的Belady现象的主要内容,如果未能解决你的问题,请参考以下文章

OS中的Belady和抖动现象

OS中的Belady和抖动现象

FIFO可能会发生Belady异常,堆栈算法不会发生Belady异常,如LRU。证明为何不会异常。

什么是belady异常现象

操作系统 页面置换算法LRU和FIFO

页面置换算法