FIFO、LRU、OPT这三种置换算法的缺页次数

1 篇文章 0 订阅


转载自:http://yinzhezq.blog.163.com/blog/static/1648628902010112961039187/


考虑下述页面走向:

          12342156212376321236

     当内存块数量分别为3时,试问FIFOLRUOPT这三种置换算法的缺页次数各是多少?

   答:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。

       当内存块数量为3时:




发生缺页中断的次数为16

  在FIFO算法中,先进入内存的页面被先换出。当页6要调入时,内存的状态为415,考查页6之前调入的页面,分别为5124,可见4为最先进入内存的,本次应换出,然后把页6调入内存。


发生缺页中断的次数为15

  在LRU算法中,最近最少使用的页面被先换出。当页6要调入时,内存的状态为521,考查页6之前调入的页面,分别为512,可见2为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。




发生缺页中断的次数为11

    在OPT算法中,在最远的将来才被访问的页面被先换出。当页6要调入时,内存的状态为125,考查页6后面要调入的页面,分别为212,可见5为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。


OPT算法因为要知道后面请求的页框,因此我觉得这个算法有个小小的bug,如果在某个请求中,若在该请求的页框之后的页框序列中至少存在一个和当前内存块中不匹配的页框,则按照内存块的顺序(从上往下)替换没有出现的页框。比如上面那个OPT例子。对于最后一个页框请求,因为6未命中,且6之后没有请求的序列,因此应该替换3,所以替换后的序列为6 , 2 ,1   当然,这只是针对做题而言。


  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
FIFO算法OPT算法LRU算法是常见的页面置换算法,它们都用于解决操作系统页面置换问题。下面是它们的缺页率比较: 1. FIFO算法(先进先算法): - 算法介绍:FIFO算法是最简单的页面置换算法,它总是选择最早进入内存的页面进行淘汰。 - 举例:假设内存有3个页面页面访问序列为1, 2, 3, 4, 1, 2, 5。使用FIFO算法进行页面置换,当内存页面数不足时,将最早进入内存的页面淘汰。根据这个页面访问序列,FIFO算法缺页次数为4,缺页率为4/7=0.57。 2. OPT算法(最优页面置换算法): - 算法介绍:OPT算法是一种理论上的最优页面置换算法,它根据未来的页面访问情况选择最长时间内不再被访问页面进行淘汰。 - 举例:假设内存有3个页面页面访问序列为1, 2, 3, 4, 1, 2, 5。使用OPT算法进行页面置换,根据未来的页面访问情况,选择最长时间内不再被访问页面进行淘汰。根据这个页面访问序列,OPT算法缺页次数为2,缺页率为2/7=0.29。 3. LRU算法(最近最久未使用算法): - 算法介绍:LRU算法是一种基于页面访问历史的页面置换算法,它选择最近最长时间没有被访问页面进行淘汰。 - 举例:假设内存有3个页面页面访问序列为1, 2, 3, 4, 1, 2, 5。使用LRU算法进行页面置换,根据页面访问历史,选择最近最长时间没有被访问页面进行淘汰。根据这个页面访问序列,LRU算法缺页次数为3,缺页率为3/7=0.43。 综上所述,根据给定的页面访问序列,FIFO算法缺页率为0.57,OPT算法缺页率为0.29,LRU算法缺页率为0.43。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值