分页置换算法

常用的有三种:先进先出算法,最佳置换法,最近最少使用置换法。
缺页:指页不在内存中,需要通过从外存置换到内存,例如,当初始状态时,内存为空,则访问到的页面都要从外存调入到内存,调入一次,就缺页一次。
先进先出算法:由于认为最早调入内存的页不再被使用的可能性要大于刚调入内存的页,因此,先进先出法总是淘汰在内存中停留时间最长的一页,即先进入内存的页,先被换出。先进先出法把一个进程所有在内存中的页按进入内存的次序排队,淘汰页面总是在队首进行。如果一个页面刚被放入内存,就把它插在队尾。
最佳置换法:最佳置换算法(OPT)在为调入新页面而必须预先淘汰某个老页面时,所选择的老页面应在将来不被使用,或者是在最远的将来才被访问。采用这种算法,能保证有最小缺页率。(根据页面进入内存的顺序,将该顺序中与内存中的页面做对比,内存中的老页面最后用到的那一页被换出)
最近最久未使用置换法:最近最久未使用置换法(LRU)是选择在最近一段时间里最久没有使用过的页面予以淘汰。可以用两种技术来实现:栈和寄存器,栈实现方式:是将最近未访问的页面放到栈底,把刚访问的页面放到栈顶,当要置换时,把栈底的页面置换出去,把刚置换进来的页面放到栈顶(直接压入即可),寄存器实现方式见<<计算机操作系统>>
最近未使用算法:又称为clock算法,本质就是LRU算法,不过LRU算法需要太多的硬件支持,所以此算法是为每页设置一位访问位,再将内存中的所有页面都通过链接指针链接成一个循环队列,当某页被访问时,其访问位被置1。置换算法在选择一页淘汰时,只需检查页的访问位。如果是0,就选择该页换出;若为1,则重新将它置0,暂不换出,而给该页第二次驻留内存的机会,再按照FIFO 算法检查下一个页面。当检查到队列中的最后一个页面时,若其访问位仍为1,则再返回到队首去检查第一个页面。因该算法只有一位访问位,只能用它表示该页是否已经使用过,而置换时是将未使用过的页面换出去,因此叫做最近未使用算法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值