赞
踩
算法思路:每个页面用在该页面将来首次被访问前所要执行的指令数进行标记,标记最大的页面应该被淘汰
这个页面置换算法无法实现,当发生页面失效时,操作系统是不知道内存中的每个页面将来会在什么时候被访问的
可以用于对比其他可实现算法的性能
为了收集页面被使用的统计信息,大多数支持虚拟存储的计算机都给每页设置了两个状态位
页面失效时,OS检测所有页面,根据R和M将其分成四类,NRU算法总是淘汰编号等级最低的任一页面
OS维护一个所有当前内存的页面的链表,最老的页面在表头,最新的在表尾,页面失效时,淘汰表头的页面,新调入页面放表尾.
Belady异常:只有FIFO会发生,当内存为其增加块后,缺页率反而提高。
算法思路:页面失效发生时,检查最老页面的R位 ,如R为0,则该页面为最老且未被访问页面,立即置换,如R为1,清除该位,页面放在链表尾部,重新搜索
寻找上一个时钟间隔以来没有被访问的最老页面,如果所有的页面都被访问过,算法退化成FIFO。
算法改进:时钟页面置换算法(clock)
保存所有内存页面在一个类似钟面的环形链表,一个指针指向最老页面
算法思路:前面执行的几条指令所频繁使用的页面可能在后面的几条指令中还会用到,当页面失效时淘汰最长时间未使用的页面
特点:
最优页面置换算法的很好的近似
使用页面的链表管理方式实现代价较高
LRU计数器:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。