页面置换算法(计算缺页次数)

2021/4/14 22:55:20

本文主要是介绍页面置换算法(计算缺页次数),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


目录

  • 最近最少使用置换算法(LRU)
  • 最佳页面置换算法(OPT)
  • 先进先出页面置换算法(FIFO)


最近最少使用置换算法(LRU)

选择最近最久未使用的页面予以淘汰

页面访问序列7012030423032
页框1777









页框2
00









页框3

1









是否缺页









当访问页面号为2的页面时,应该置换哪个页面?我们可以通过判断从当前访问页面向左哪个页面(页框中的页面)距离当前访问页面最远来进行置换,如图:
在这里插入图片描述
1距离当前页面0个间隔,0距离当前页面1个间隔,7距离当前页面2个间隔,由此可知,7距离当前访问页面最远,所以替换7,接下来其他的置换也是相同的原理,全部置换完成后如下图:

页面访问序列7012030423032
页框17772222444000
页框2
000000003333
页框3

11133322222
是否缺页××××

采用最近最少使用页面置换算法(LRU),缺页次数为9



最佳页面置换算法(OPT)

将以后都不再访问或者很长时间内不再访问的页面调出

页面访问序列4296269492
页框1444






页框2
22






页框3

9






是否缺页






当访问页面号为6的页面时,应该置换哪个页面?和最近最少使用页面置换算法相反,我们可以通过判断从当前访问页面向右哪个页面(页框中的页面)距离当前访问页面最远来进行置换,如图:

在这里插入图片描述
2距离当前页面0个间隔,9距离当前页面2个间隔,4距离当前页面3个间隔,由此可知,4距离当前访问页面最远,所以置换4,接下来其他的置换也是相同的原理,全部置换完成后如下图:

页面访问序列4296269492
页框14446666444
页框2
222222222
页框3

99999999
是否缺页×××××

采用最佳页面置换算法(OPT),缺页次数为5



先进先出页面置换算法(FIFO)

每次置换最先调入内存的页面,即将内存中等待时间最长的页面进行置换

页面访问序列7012030423032
页框1777









页框2
00









页框3

1









是否缺页









当访问页面号为2的页面时,应该置换哪个页面?

方法一:

可以通过判断哪个页面(页框中的页面)最先调入内存,置换最先调入内存的页面,如图:
在这里插入图片描述

因为序号为7的页面最先最先调入内存,所以置换序号为7的页面

方法二:

也可以通过下面这种方式:通过判断哪个页面(页框中的页面)连续的次数最多,置换连续次数最多的页面,如图:

在这里插入图片描述
序号为7的页面连续的次数最多,所以置换序号为7的页面

接下来其他的置换也是相同的原理,全部置换完成后如下图:

页面访问序列7012030423032
页框17772222444000
页框2
000033322222
页框3

11110003333
是否缺页×××

采用先进先出页面置换算法(FIFO),缺页次数为10



有不对的地方还请指出呀,不胜感激 [嘻嘻]



这篇关于页面置换算法(计算缺页次数)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程