操作系统之常用的页面淘汰算法(未竟)
最佳算法(OPT 算法, Optimal)
思想
- 淘汰不再需要或最远将来才会用到的页面.
例子
分配 3 个页框. 页面序列: A, B, C, D, A, B, E, A, B, C, D, E. 分析其按照 OPT 算法淘汰页面的缺页情况.
缺页次数 = 7 缺页率 = 7 / 12 = 58%
特点
理论上最佳, 实践中该算法无法实现.
先进先出淘汰算法(FIFO 算法)
思想
淘汰在内存中停留时间最长的页面
例子
分配 3 个页框. 页面序列: A, B, C, D, A, B, E, A, B, C, D, E. 分析其按照 FIFO 算法淘汰页面的缺页情况.
缺页次数 = 9 缺页率 = 9 / 12 = 75%
优点
实现简单: 页面按进入内存的时间顺序排序, 淘汰队头页面.
缺点
进程只有按顺序访问地址空间时页面命中率才最理想.
异常现象
对于一些特定的访问序列, 分配页框越多, 缺页率越高!
最久未使用淘汰算法(LRU, Least Recently Used)
思想
淘汰最长时间未被使用的页面.
例子
分配 3 个页框. 页面序列: A, B, C, D, A, B, E, A, B, C, D, E. 分析其按照 LRU 算法淘汰页面的缺页情况.
缺页次数 = 10 缺页率 = 10 / 12 = 83%
LRU 的实现方法(硬件方法)
操作系统之常用的页面淘汰算法(未竟)
http://fanlumaster.github.io/2021/05/31/操作系统之常用的页面淘汰算法/