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算法:根据未来实际使用情况将未来的近期里不用的页替换出去。这种算法是用来评价期它替
换算法好坏的标准。不可能实现。
为虚拟页式存储管理服务的。自然,达到这样一种情形的算法是最理想的了----每次调换出的页面是所有
内存页面中最迟将被使用的----这可以最大限度的推迟页面调换,这种算法,被称为理想页面置换算法。
为了尽量减少与理想算法的差距,产生了各种精妙的算法,最近最少使用页面置换算法便是其中一个。当
然,LRU算法的缺点在于实现方法的不足----效率高的硬件算法通常在大多数机器上无法运行,而软件算
法明显有太多的开销。
LFU实现比较困难,目前多用LRU进行页面替换
2)RAND、FIFO、LRU及OPT算法
·RAND算法:用软硬件的随面数产生主存中要被替换页的页号。
·FIFO算法:选择最早装入主存的页作为被替换的页。这种算法实现方便,但不一定正确反映出程序
的局部性。
谁还记的《数据结构》的队列,哦,你对了,给你一个糖,队列就象排队买票,谁先排到队中,谁更
早滚蛋。
·LRU算法:选择近期最少访问的页作为被替换页。
·LFU算法:最近最不常用调度算法,是根据在一段时间里页面被使用的次数选择出最少使用的页
大家要注意LRU和LFU两个算法的区别,从上边两种解决使用位都为1的方法来看,随机法接近于LRU,
第二种接近LFU,大家看看《操作系统》P76页,那写的清楚。
·OPT算法:根据未来实际使用情况将未来的近期里不用的页替换出去。这种算法是用来评价期它替
换算法好坏的标准。不可能实现。