页面置换算法 (全)
文章目录
-
-
- 页面置换算法 (全)
-
-
- (1)最佳页面置换算法 OPT (OPTimal replacement)
- (2)先进先出页面置换算法 FIFO (First In First Out)
- (3)第二次机会页面置换算法 SC (Second Chance)
- (4)时钟页面置换算法 CLOCK
- (5)最近最少使用页面置换算法 LRU (Least Recently Used)
- (6)最不经常使用页面置换算法 LFU (Least frequently used)
- (7)最近未使用页面置换算法 NRU (Not Recently Used)
- (8)最不常用页面置换算法 NFU (Not Frequently Used)
- (9)老化算法 Aging
- (10)工作集页面置换算法
- (11)工作集时钟页面置换算法
-
-
(1)最佳页面置换算法 OPT (OPTimal replacement)
淘汰最久被再次使用的页面。实际中无法实现,用作衡量其它置换算法的效率的参照。
(2)先进先出页面置换算法 FIFO (First In First Out)
用链表(队列)存储内存中的所有页面,淘汰最早进入的页面(队首页面)。
(3)第二次机会页面置换算法 SC (Second Chance)
对 FIFO 算法的改进,目的是淘汰一个在最近的时钟间隔内没有被访问过的页面。
具体操作:每个页面标记一个R位(初始值为 1),发生缺页中断检查队首页面的 R位是否为 0 ,如果是则淘汰;如果 R 位为 1,则将该页面移到队尾,继续检查队首页面。 也可以理解成往后从队首寻找第一个 R 位为 0 的页面,前面 R 位为 1 的页面按原顺序移到队尾。
(4)时钟页面置换算法 CLOCK
对二次机会算法 (SC) 的改进,二次机会算法对链表的操作太多。
具体操作:可以使用环形链表,寻找 R 位为 0 的页面时,移动表指针即可,减少了对链表结构的改动。