`
rain_2372
  • 浏览: 676758 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于FIFO 、LRU、LFU三种算法的比较

    博客分类:
  • java
阅读更多
LRU算法的实现 什么是LRU算法? LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是

为虚拟页式存储管理服务的。自然,达到这样一种情形的算法是最理想的了----每次调换出的页面是所有

内存页面中最迟将被使用的----这可以最大限度的推迟页面调换,这种算法,被称为理想页面置换算法。

为了尽量减少与理想算法的差距,产生了各种精妙的算法,最近最少使用页面置换算法便是其中一个。当

然,LRU算法的缺点在于实现方法的不足----效率高的硬件算法通常在大多数机器上无法运行,而软件算

法明显有太多的开销。

LFU实现比较困难,目前多用LRU进行页面替换

2)RAND、FIFO、LRU及OPT算法
  ·RAND算法:用软硬件的随面数产生主存中要被替换页的页号。
  ·FIFO算法:选择最早装入主存的页作为被替换的页。这种算法实现方便,但不一定正确反映出程序

的局部性。
  谁还记的《数据结构》的队列,哦,你对了,给你一个糖,队列就象排队买票,谁先排到队中,谁更

早滚蛋。
  ·LRU算法:选择近期最少访问的页作为被替换页。

       ·LFU算法:最近最不常用调度算法,是根据在一段时间里页面被使用的次数选择出最少使用的页
  大家要注意LRU和LFU两个算法的区别,从上边两种解决使用位都为1的方法来看,随机法接近于LRU,

第二种接近LFU,大家看看《操作系统》P76页,那写的清楚。
  ·OPT算法:根据未来实际使用情况将未来的近期里不用的页替换出去。这种算法是用来评价期它替

换算法好坏的标准。不可能实现。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics