1. 随机算法,即RAND算法 Random algorithm
利用软件或硬件的随机数发生器来确定主存储器中被替换的页面。
这种算法最简单,而且容易实现。
但是,这种算法完全没有利用主存储器中页面调度情况的历史信息,也没有反映程序的局部性,所以命中率比较低。
2.先进先出算法,即FIFO算法 First-In First-Out algorithm
这种算法选择最先调入主存储器的页面作为被替换的页面。它的优点是比较容易实现,能够利用主存储器中页面调度情况的历史信息。
但是,没有反映程序的局部性。因为最先调入主存的页面,很可能也是经常要使用的页面。
3.近期最少使用算法,即LFU算法 Least Frequently Used algorithm
这种算法选择近期最少访问的页面作为被替换的页面。
显然,这是一种非常合理的算法,因为到目前为止最少使用的页面,很可能也是将来最少访问的页面。
该算法既 充分利用了主存中页面调度情况的历史信息,又正确反映了程序的局部性。
但是,这种算法实现起来非常困难,它要为每个页面设置一个很长的计数器,并且要选择 一个固定的时钟为每个计数器定时计数。
在选择被替换页面时,要从所有计数器中找出一个计数值最大的计数器。
4.最久没有使用算法,即LRU算法Least Recently Used algorithm
这种算法把近期最久没有被访问过的页面作为被替换的页面。
它把LFU算法中要记录数量上的"多"与"少"简化成判断"有"与"无",因此,实现起来比较容易。
cache 的算法
最新推荐文章于 2024-07-26 18:25:36 发布