• 面试问题之操作系统:常见的页面调度算法


    1、先进先出调度算法(FIFO,First In First Out)

      先进先出调度算法是根据页面进入内存的时间先后选择调度页面,该算法实现时需要将页面按照进入的时间先后组成一个队列,每次优先淘汰队首页面。他的优点是比较容易实现,能够利用主存储器中页面调度情况的历史信息,但是,他没有反映程序的局部性,因为最先调入主存的页面,很可能也是经常要使用的页面。

    2、最近最不常用调度算法(LFU, Least Frequently Used)

      也就是淘汰一定时期内被访问次数最少的页面,LFU关键是看一定时间段内页面被使用的频率。

    3、最近最少使用页面调度算法(LRU,Least Recently Used)

      也就是首先淘汰最长时间未被使用的页面,LRU关键是看页面最后一次被使用发生调度的时间长短。

    4、时钟置换算法

      为每一页设置访问位,将内存中所有页面通过连接指针接成循环队列,当页面被访问时访问位置1,每次淘汰时,从指针当前位置开始循环遍历,将访问位为1的置为0,找到第一个访问位为0的将其淘汰。

    5、最佳置换算法

     每次淘汰时,找一个未来最长时间才会被访问的页面进行淘汰。

      优点:缺页率低

      缺点:需要预测未来,无法实现,但可以用来衡量其他置换算法。 

      

  • 相关阅读:
    [NOIP2011]选择客栈
    [学习笔记]字符串的一些基本操作
    [学习笔记]树链剖分
    [宁波集训]0827Day1
    [POI2015]LOG(树状数组)
    [学习笔记]树形dp
    货车运输(最大生成树+倍增LCA)
    POJ 3617 Best Cow Line 贪心算法
    C++ STL next_permutation() prev_permutation(a,a+n)用法。
    POJ 2386 Lake Counting dfs
  • 原文地址:https://www.cnblogs.com/yichengming/p/11447951.html
Copyright © 2020-2023  润新知