Вычисление ошибок страницы с использованием наименьшего количества недавно использованных

Я новичок в управлении памятью и алгоритмах замены страниц. Я нашел и напечатал вопрос об алгоритме "Наименее недавно использованный", но, к сожалению, я не могу определить, правильный ли мой ответ и мыслительный процесс.

Я очень стараюсь укрепить мое понимание алгоритма, читая бесплатные учебники и просматривая примеры на YouTube. Тем не менее, я был бы очень признателен, если бы вы поняли концепцию, и могли бы дать какие-либо предложения о том, как улучшить мой ответ и исправить свой мыслительный процесс. Посмотрите на изображение ниже, где номера, выделенные полужирным шрифтом, обозначают ошибки страницы, а числа со звездочками - попадания на страницу (я рассчитал количество ошибок на 21 страницу):

PS Прошу прощения, если трудно читать вбок, но это единственный способ, которым я мог уместить всю таблицу на изображении, не имея маленьких цифр.

2 ответа

Решение

В случае сбоя страницы LRU (используется не так давно) ищет эту страницу в таблице страниц, к которой был получен последний доступ, и заменяет ее новой страницей. На вашей диаграмме я вижу ошибку в 6-й странице ошибки, когда вы заменяете 2 на 1. Вот как я думаю в этом алгоритме:

  • Ищет страницу в таблице страниц (если страница попадет, перейдите дальше)

  • Если имеется ошибка страницы, выясните, к какой странице последний раз обращались в таблице страниц (это не имеет ничего общего с последней замененной страницей в таблице).

  • Замените эту страницу новой страницей, для которой мы получили ошибку страницы.

Возьмем ваше дело в качестве примера:

  1. Вы получили ошибку страницы за 1.
  2. первый элемент в таблице страниц - это 5, к которому был произведен доступ последним (задайте ему номер 0).
  3. Второй элемент - 2, к которому обращались 2 шага назад.
  4. третий элемент 3, доступ 5 шаг назад.
  5. четвертый элемент - 4, к которому обращались 1 шаг назад.

Поэтому вам нужно заменить 3 новой страницей, к которой обращались в последний раз.

Это выглядит правильно для меня. (И поэтому не обнаруживает ничего интересного в ваших мыслительных процессах; извините.)

Другие вопросы по тегам