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 | | |
缺页率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,感觉总结不错
相关文章推荐
- 应用领航:盘点那些年我们一起追过的OS
- 无奇不有!盘点各国自己开发的操作系统
- 可自定义oem的萝卜家园 Ghost XP 新春装机版 V200801 下载
- C#实现判断操作系统是否为Win8以上版本
- js获取本机操作系统类型的两种方法
- Linux操作系统添加新硬盘方法
- Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
- java如何获取本地操作系统进程列表
- Linux rdesktop操作系统下远程登录Windows XP桌面
- 32位操作系统认出超出4G内存的方法
- Linux rpm tar 操作系统下软件的安装与卸载方法
- JavaScript 获取用户客户端操作系统版本
- jsp 获取客户端的浏览器和操作系统信息
- Windows 操作系统的安全设置
- java LRU(Least Recently Used )详解及实例代码
- php判断当前操作系统类型
- PHP获取用户的浏览器与操作系统信息的代码
- Redis的LRU机制介绍
- Perl操作系统环境变量的脚本代码
- javascript获取本机操作系统类型的方法