页面置换算法(OPT,FIFO,LRU)

页面置换算法

地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。

下面以页面访问顺序:4,3,2,1,4,3,5,4,3,2,1,5,实际页面数为3为例,研究三种算法的不同

最佳置换算法(OPT)

理想置换算法,从主存中移出永远不再需要的页面;如无这样的页面存在,则选择最长时间不需要访问的页面。于所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。

如下图,当顺序访问4,3,2时缺页,将4,3,2调入内存,接下来访问1时,产生缺页,将后面最长时间未用到的2置换出去,以此类推,每次缺页时都置换未来最长时间未用到的页面。但是,我们不可能预测未来需要用到哪些页,因此这是理想算法。
在这里插入图片描述

先进先出置换算法(FIFO)

最简单的页面置换算法。这种算法的基本思想是:当需要淘汰一个页面时,总是选择驻留主存时间最长的页面进行淘汰,即先进入主存的页面先淘汰。其理由是:最早调入主存的页面不再被使用的可能性最大。

如下图,当顺序访问4,3,2时缺页,将4,3,2调入内存,接下来访问1时,按照先进先出的原则,将刚刚最先进入的4置换,接下来访问4时,又缺页了,再将剩余页面中最先进入的页面3置换,以此类推
在这里插入图片描述

最近最久未使用(LRU)算法

这种算法的基本思想是:利用局部性原理,根据一个作业在执行过程中过去的页面访问历史来推测未来的行为。它认为过去一段时间里不曾被访问过的页面,在最近的将来可能也不会再被访问。所以,这种算法的实质是:当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰。

如下图,当顺序访问4,3,2时缺页,将4,3,2调入内存,接下来访问1时,将过去最少用到的页面置换出去,这里4,3,2过去用到的频率都是一样的,因此任意置换一个即可。往下看可以看到,当我们访问5,产生缺页的时候,过去用到4两次,用到3两次,用到1一次,因此选择将过去用到次数最少的1置换出去。
在这里插入图片描述

  • 23
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值