zoukankan      html  css  js  c++  java
  • 页置换算法FIFO、LRU、OPT

    页置换算法FIFO、LRU、OPT

    为什么需要页置换

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

    实力(实例)

    考虑下述页面走向:
    1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
    当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法的缺页次数各是多少?
    假设:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。
    当内存块数量为3时:
    1、FIFO

    发生缺页中断的次数为16。
      在FIFO算法中,先进入内存的页面被先换出。当页6要调入时,内存的状态为4、1、5,考查页6之前调入的页面,分别为5、1、2、4,可见4为最先进入内存的,本次应换出,然后把页6调入内存。
    2、LRU

    发生缺页中断的次数为15。
      在LRU算法中,最近最少使用的页面被先换出。当页6要调入时,内存的状态为5、2、1,考查页6之前调入的页面,分别为5、1、2,可见2为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。
    3、OPT

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

    总结

    • LRU算法:平均命中率最高算法,选择近期最少访问的页作为被替换页。 无Belady异常
    • FIFO算法:是一个实现起来比较简单的页面置换算法,其基本原则是“选择最早进入主存的页面淘汰”,理由是最早进入的页面,其不再使用的可能性比最近调入的页面要大。有Belady异常
    • OPT算法:根据未来实际使用情况将未来的近期里不用的页替换出去。这种算法是用来评价期它替 换算法好坏的标准。不可能实现。所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。无Belady异常
  • 相关阅读:
    心慌慌
    辛苦了
    [转]家庭长寿秘方:夫妻关系之守则。
    无题
    浮躁
    [转]樱木花道9大缺点
    一票难求
    Excel录入数据,自动记录当前时间点
    Excel数据透视表基本使用
    linux下tomcat7虚拟目录配置
  • 原文地址:https://www.cnblogs.com/1996jiwei/p/5960366.html
Copyright © 2011-2022 走看看