• 软考——内存管理之页面调度与缺页计算


    一、何为缺页?

      说白点:缺页定义为全部内存块最初都是空的,所以第一次用到的页面都产生一次缺页,也就是内存中不存在的待进入的页号话。就会产生缺页。明确了这个之后,对于缺页计算问题就好说了。

    二、先进先出调度算法(FIFO)

      这样的调度算法总是淘汰最新进入主存储器的那一页。

    这样的调度算法非常easy,依照装入主存储器的那些页的先后顺序排成页号队列。每当进入一个缺页时候,淘汰最早进入的那页。

      举个样例:比如依次要訪问的页号为:0 1 2 3 2 1 3 2 5 2 3 6 2 1 4 2。如今仅仅有三个主存可供使用假设採用FIFO调度,请模拟  调度过程,并算出缺页中断次数?

      0进入。出现缺页中断(1次)此时内存中的页号:0
      1进入,出现缺页中断(1次),此时内存中的页号:01
      2进入。出现缺页中断(1次)此时内存中的页号:012
      3进入,淘汰0,出现缺页中断(1次)。3替换0的位置。此时内存中的页号:123
      2进入。没出现缺页中断情况。由于内存中已经存在页号2。内存中的页号还是:123
      1进入,内存中存在页号1,没有出现缺页中断,此时内存中的页号是:123
      3进入,同上。没有出现缺页中断,内存中的页号是:123
      2进入,同上,没有出现缺页中断。内存中的页号是:123
      5进入,这时候。对于312呆的时间最长的是:1,所以5替换1,出现缺页中断(1次)。此时内存中的页号:235
      2进入,没有出现缺页中断,内存中的页号:235
      6进入,出现缺页中断(1次)。淘汰的页面是2号,内存中的页号356
      2进入,出现缺页中断(1次),淘汰的页面好是3号。内存中的页号562
      1进入,出现缺页中断(1次)。淘汰的页面号是5号。内存中的页号是621
      4进入。出现缺页中断(1次),淘汰的页面号是6号,内存中的页号是214
      2进入,没有出现缺页中断,内存中的页号是214

      所以,假设採用先进先出的调度算法,共出现缺页中断8次,其内存模拟情况例如以下表:


    进入

    时间

     

     

     

    是否

    缺页

    不是

    不是

    不是

    不是

    不是

    不是

    不是


      *红色的数字,是最新进入内存的页号
      对于先进先出模拟过程,不难发现一下特点:
       1、第一次进入内存的,肯定出现缺页。
       2、没出现缺页的,连续的列是同样的;
       3、淘汰的页面是呆在内存中时间最长的;

    三、近期最久未使用调度算法(LRU)

      近期最久未使用调度算法觉得:近期常常被使用到的页和可能立即就要被訪问。因此不能调出。相反,假设有过去一段时间里没有被訪问过的页。在近期的将来也可能临时不会被訪问。所以须要装入新页时,应选择在近期一段时间里最久没有被使用过的页调出。

      仍然以上述为样例,採用LRU调度,
      首先0进入,缺页(1次),此时内存中的页号依照使用频率的顺序:0
      1进入,缺页(1次)。此时内存中的页号依照使用频率的顺序:01
      2进入,缺页(1次)。此时内存中的页号依照使用频率的顺序:012
      3进入,缺页(1次),最久未使用为0页号,被3替换,此时内存中的页号依照使用频率的顺序:123
      2进入,不缺页。此时内存中的页号依照使用频率的顺序:132
      1进入,不缺页,此时内存中的页号使用频率的顺序:321
      3进入。不缺页,此时内存中的页号使用频率的顺序:213
      2进入。不缺页,此时内存中的页号使用频率的顺序:132
      5进入,缺页(1次),最久未使用的页号是1号,淘汰掉,此时内存中的页号使用频率的顺序:325
      2进入,不缺页,此时内存中的页号使用频率的顺序:352
      3进入,不缺页。此时内存中的页号使用频率的顺序:523
      6进入,缺页(1次)。此时内存中的页号使用频率的顺序:236
      2进入,不缺页,此时内存中的页号使用频率的顺序:362
      1进入,缺页(1次),最久未使用的页号为3。此时内存中的页号使用频率的顺序:621
      4进入。缺页(1次)。最久未使用的页号为6,此时内存中的页号使用频率的顺序:214
      2进入,不缺页,此时内存中的页号使用频率的顺序:142

      所以,採用近期最久未使用的调度算法。其缺页次数:8次

      其在内存中的调度模拟例如以下表所看到的:

    使用

    频率

    好久

    没用

     

    近期

    使用

     

     

    是否

    缺页

    不是

    不是

    不是

    不是

    不是

    不是

    不是

    不是


    四、小结

      多拿笔画画~~~


  • 相关阅读:
    GB 51411-2020 金属矿山土地复垦工程设计标准
    GB/T 51413-2020 有色金属工业余热利用设计标准
    DL/T 1907.1-2018等最新电力行业标准
    GB 50205-2020 钢结构工程施工质量验收标准
    DL/T 5210.6-2019 电力建设施工质量验收规程 第6部分:调整试验
    GB/T 38640-2020 盲用数字出版格式
    GB 50325-2020 民用建筑工程室内环境污染控制标准(含条文说明)
    GB 50216-2019 铁路工程结构可靠性设计统一标准
    最新发布的国家标准下载(2020-5-21)
    bind、apply、call的区别
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/6897539.html
Copyright © 2020-2023  润新知