您的位置:首页 > 其它

FIFO 、LRU、LFU三种算法

2016-12-18 11:43 330 查看

最近操作系统考试,碰到这个总结一下

在一个支持虚拟分页,采用请求页式调度的存储管理系统中有一用户程序,其页面访问顺序为:0,3,2,4,5,1,4,2,3,5,2,5,1,3,2

问:若分配给该作业的空白物理块为4个,试按FIFO、LRU页面淘汰算法,分别计算页面访问的缺页率,写出求解过程。

0
3
2
4
5
1
4
2
3
5
2
5
1
3
2
0
3
2
4
5
1
 
 
3
 
2
 
 
 
 
 
0
3
2
4
5
 
 
1
 
3
 
 
 
 
 
 
0
3
2
4
 
 
5
 
1
 
 
 
 
 
 
 
0
3
2
 
 
4
 
5
 
 
 
 
                       

0
3
2
4
5
1
4
2
3
5
2
5
1
3
2
0
0
0
0
5
5
 
 
3
3
 
 
3
 
 
 
3
3
3
3
1
 
 
1
5
 
 
5
 
 
 
 
2
2
2
2
 
 
2
2
 
 
2
 
 
 
 
 
4
4
4
 
 
4
4
 
 
1
 
 
(1)FIFO 算法

                      缺页率8/15

(2)LRU算法
缺页率9/15

 

提到缓存,有两点是必须要考虑的:
(1)缓存数据和目标数据的一致性问题。
(2)缓存的过期策略(机制)。

     其中,缓存的过期策略涉及淘汰算法。常用的淘汰算法有下面几种:
(1)FIFO:First
In First Out,先进先出
(2)LRU:Least
Recently Used,最近最少使用
(3)LFU:Least
Frequently Used,最不经常使用

      注意LRU和LFU的区别。LFU算法是根据在一段时间里数据项被使用的次数选择出最少使用的数据项,即根据使用次数的差异来决定。而LRU是根据使用时间的差异来决定的。

        一个优秀的缓存框架必须实现以上的所有缓存机制。

可以参考这个http://blog.csdn.net/speedme/article/details/17657023,感觉总结不错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  操作系统 FIFO LRU