📜  LRU完整表格

📅  最后修改于: 2021-08-24 04:38:21             🧑  作者: Mango

LRU代表“最近最少使用” 。 LRU算法的开发结束了1960年代和1970年代关于页面替换算法的辩论和研究。

LRU替换缓存中最长的行,而不参考该行。它的工作原理是,最近使用的块更有可能再次被引用。 LRU是最常用的算法,因为与其他算法相比,它提供的页面错误数量更少。

LRU的特点

  • 已经观察到,最近被大量使用的页面可能也会在即将到来的指令中被大量使用,这构成了LRU的基础。
  • 当程序所请求的页面不存在于RAM中时,就会发生页面错误,然后,如果页面框架已满,则我们必须删除最长时间未使用的页面。
  • 可以很容易地在2路集关联映射中实现,其中每行都包含一个USE位。参考线的USE位设置为1,另一条线的USE位设置为0。当设置满时,我们考虑USE位为0的替换块。

LRU的优点

  • 与FIFO不同,LRU不受Belady异常的影响。
  • 与最优算法以外的任何其他算法相比,它提供的页面错误数更少,并且由于无法在现实生活中实现最优算法,LRU是最常用的算法。
  • LRU算法非常有效。

LRU的缺点

  • 由于必须跟踪所引用的页面,因此开销更大。
  • 由于需要硬件协助,因此难以实施。