📜  LRU 完整表格

📅  最后修改于: 2021-09-23 06:46:12             🧑  作者: Mango

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

LRU 替换缓存中在缓存中存在时间最长的行而不引用它。它适用于最近使用的块更有可能被再次引用的想法。 LRU 是最常用的算法,因为与其他算法相比,它产生的页面错误数量较少。

LRU的特点

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

LRU的优势

  • 与 FIFO 不同,LRU 不受 Belady 异常的影响。
  • 除了最优算法之外,它提供的页面错误数量更少,并且由于最优算法无法在现实生活中实现,LRU 是最常用的算法。
  • LRU 算法非常高效。

LRU的缺点

  • 由于我们必须跟踪引用了哪些页面,因此开销更大。
  • 由于需要硬件辅助,因此难以实施。