-1

我是内存管理和页面替换算法的新手。我找到并打印了一个关于最近最少使用算法的问题,但不幸的是,我无法确定我的答案和思考过程是否正确。

我正在努力通过阅读免费教科书和观看 YouTube 上的示例来巩固我对算法的理解。但是,如果我掌握了这个概念,我将不胜感激,您可以解释一下,并提供有关如何改进我的答案和纠正我的思维过程的任何建议。请看下图,其中粗体数字是页面错误,带星号的数字是页面命中(我计算了 21 个页面错误): 在此处输入图像描述

PS如果很难横向阅读,我很抱歉,但这是我可以在没有小数字的情况下将整个表格放入图像中的唯一方法。

4

2 回答 2

1

在页面错误的情况下,LRU(最近最少使用)在页表中查找最后访问的页面并将其替换为新页面。在您的图表中,当您将 2 替换为 1 时,我可以看到第 6 页错误中的错误。这就是我在此算法中的想法:

  • 在页表中查找页面(如果页面命中则移动下一个)

  • 如果发生页错误,则找出页表中最后访问的页。(与表中最后被替换的页无关。)

  • 用我们得到页面错误的新页面替换该页面。

以您的情况为例:

  1. 您收到 1 的页面错误。
  2. 页表中的第一个元素是最后访问的 5(给它编号 0)。
  3. 第二个元素是 2,在 2 步前访问。
  4. 第三个元素是 3,在 5 步前访问。
  5. 第四个元素是 4 ,前一步访问。

因此,您需要将 3 替换为最后访问的新页面。

于 2016-04-27T23:25:15.700 回答
-1

在我看来是正确的。(因此在你的思维过程中没有发现任何有趣的错误;抱歉。)

于 2016-04-27T23:24:06.307 回答