操作系统页面替换 FIFO 算法中的 Belady 现象
最编程
2024-07-02 09:00:11
...
采用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和抖动并不完全一样。
上一篇: [访谈记录] 操作系统 VIII
下一篇: 贝拉迪现象
推荐阅读
-
10 页面替换算法中的 Belady 现象、工作集、驻留集 - 答:因为 LRU 算法符合堆栈算法的特点,而 FIFO 算法不符合堆栈算法的特点。堆栈算法的特点是给出的物理页帧越多,产生的缺页中断次数就越少。 思考时钟算法和增强时钟算法会产生贝拉迪现象吗? LRU、FIFO 和时钟的比较:
-
请求页管理中的替换算法(FIFO、LRU、OPT),用于缺页率示例
-
[OSTEP] 物理内存之外的策略 | Belady 现象 | LRU 策略 | 参考位算法 | 垃圾 | 全局替换与局部替换 | 预读 | 聚类与分组
-
操作系统页面替换 FIFO 算法中的 Belady 现象
-
操作系统中的 Belady 和抖动现象
-
页面替换算法 LRU 和 FIFO 算法在 Linux 下的性能比较(缺失页面率)和 Belady 异常观察
-
在基于虚拟页面的存储管理中实现页面替换算法 java 虚拟页面存储的三种算法