雨停的天吧 关注:2贴子:255
  • 0回复贴,共1

【技术】关于MRU(Most recently used)算法

只看楼主收藏回复

最近看书看到了MRU(Most recently used)算法,不太懂。想去网上找点资料,‘惊喜’的发现全是一个版本的,而且全都说的模模糊糊。 自己钻研了一下,结果如下。
首先,什么是MRU? 说白了就是,当有一个新的页要保存的时候,把最后一个 命中 或 上一个进入 内存的东西 替换掉。 再直接点就是,把它前面一个要访问的数据踢出去,然后保存自己.
举个例子, 有这么一个 内存,大小为3, 而 9,36,3,13,9,36,25 为存储队列。
刚开始,内存未满,9,36,3 依次保存没问题。 当13来的时候,要把3替换掉(注意,是要把最后一个保存的替换掉!), 此时内存内为9,36,13。 然后9,36,依次命中。 再然后25来了,要替换的是36!而不是13!(虽然13是最后一个被保存的,但36是最后一个被访问的!),所以,内存的序列此时为 9,13,25。
另一个抽象点的例子,比如一个序列a,b,c,d,e,f,…… 如果b要被保存,而空间已满就把a踢出去(无论A是早就被保存,这次命中 还是 这次刚被保存),如果C要被保存,而空间已满就把b踢出去,以此类推


IP属地:上海1楼2012-03-04 12:27回复