zoukankan      html  css  js  c++  java
  • 页面置换算法总结

    先进先出法(FIFO

    算法描述:由于认为最早调入内存的页不再被使用的可能性要大于刚调入内存的页,因此,先进先出法总是淘汰在内存中停留时间最长的一页,即先进入内存的页,先被换出。先进先出法把一个进程所有在内存中的页按进入内存的次序排队,淘汰页面总是在队首进行。如果一个页面刚被放入内存,就把它插在队尾。

    【例1】教材第4章课后习题。

    考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。当内存块数量分别为3,5时,试问先进先出置换算法(FIFO)的缺页次数是多少?(注意,所有内存块最初都是空的,凡第一次用到的页面都产生一次缺页。)

    :当内存块数量分别为3时,FIFO算法的执行过程如下图所示。

    页面

    1

    2

    3

    4

    2

    1

    5

    6

    2

    1

    2

    3

    7

    6

    3

    2

    1

    2

    3

    6

    块1

    1

    1

    1

    4

     

    4

    4

    6

    6

    6

     

    3

    3

    3

     

    2

    2

     

    2

    6

    块2

     

    2

    2

    2

     

    1

    1

    1

    2

    2

     

    2

    7

    7

     

    7

    1

     

    1

    1

    块3

     

     

    3

    3

     

    3

    5

    5

    5

    1

     

    1

    1

    6

     

    6

    6

     

    3

    3

    缺页

     

     

     

     

    打叉的表示发生了缺页,共缺页16次。

    提示:当FIFO算法执行到蓝色的4号页面时,这时内存中有三个页面,分别是1,2,3。按照FIFO算法,在内存中停留时间最长的页面被淘汰。三个页面在内存中的停留时间用绿色区域标记出来了,可见,1号页面是停留时间最长的,因此要淘汰1号页面。

    最近最少使用置换法(LRU

    算法描述:最近最少使用置换法(LRU)是选择在最近一段时间里最久没有使用过的页面予以淘汰。借鉴FIFO算法和OPT算法,以“最近的过去”作为“不久将来”的近似。

    【例3】教材第4章课后习题。

    考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。当内存块数量分别为3,5时,试问最近最少使用置换法(LRU)的缺页次数是多少?(注意,所有内存块最初都是空的,凡第一次用到的页面都产生一次缺页。)

    :当内存块数量分别为3时,LRU算法的执行过程如下图所示。

    页面

    1

    2

    3

    4

    2

    1

    5

    6

    2

    1

    2

    3

    7

    6

    3

    2

    1

    2

    3

    6

    块1

    1

    1

    1

    4

     

    4

    5

    5

    5

    1

     

    1

    7

    7

     

    2

    2

     

     

    2

    块2

     

    2

    2

    2

     

    2

    2

    6

    6

    6

     

    3

    3

    3

     

    3

    3

     

     

    3

    块3

     

     

    3

    3

     

    1

    1

    1

    2

    2

     

    2

    2

    6

     

    6

    1

     

     

    1

    缺页

     

     

     

     

     

    打叉的表示发生了缺页,共缺页15次。

    【参考】

    http://www.cnblogs.com/dolphin0520/p/3749259.html

    http://blog.csdn.net/pbymw8iwm/article/details/6799247

    http://blog.csdn.net/wanghao109/article/details/13003479

  • 相关阅读:
    CentOS 6.3 安装过程
    thinkphp的学习笔记
    全栈工程师之路
    Anne pro 2 开箱实录
    IDEA创建SpringBoot项目整合JPA,连接Oracle数据库,使用Swagger进行测试
    AOP思想的一点想法
    STS(Eclipse)修改Project Exploer背景颜色及字体大小
    IDEA运行Tomcat,控制台日志乱码
    MyBatis自动生成实体类、DAO和XML映射文件,并去掉实体类中的getter和setter方法
    vue+jspdf+html2canvas导出PDF文件
  • 原文地址:https://www.cnblogs.com/hellogiser/p/page-replacement-algorithm.html
Copyright © 2011-2022 走看看