面试问题之操作系统:常见的页面调度算法
1、先进先出调度算法(FIFO,First In First Out)
先进先出调度算法是根据页面进入内存的时间先后选择调度页面,该算法实现时需要将页面按照进入的时间先后组成一个队列,每次优先淘汰队首页面。他的优点是比较容易实现,能够利用主存储器中页面调度情况的历史信息,但是,他没有反映程序的局部性,因为最先调入主存的页面,很可能也是经常要使用的页面。
2、最近最不常用调度算法(LFU, Least Frequently Used)
也就是淘汰一定时期内被访问次数最少的页面,LFU关键是看一定时间段内页面被使用的频率。
3、最近最少使用页面调度算法(LRU,Least Recently Used)
也就是首先淘汰最长时间未被使用的页面,LRU关键是看页面最后一次被使用到发生调度的时间长短。
4、时钟置换算法
为每一页设置访问位,将内存中所有页面通过连接指针接成循环队列,当页面被访问时访问位置1,每次淘汰时,从指针当前位置开始循环遍历,将访问位为1的置为0,找到第一个访问位为0的将其淘汰。
5、最佳置换算法
每次淘汰时,找一个未来最长时间才会被访问的页面进行淘汰。
优点:缺页率低
缺点:需要预测未来,无法实现,但可以用来衡量其他置换算法。