Операционные системы. Управление ресурсами


Виртуальная и реальная память - часть 5


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

Многоуровневая память строится обычно по иерархическому принципу. Это означает, что для каждого следующего уровня время доступа больше, чем для предыдущего: t[i] > t[i-1], и объем больше: V[i] > V[i-1]. Последнее обстоятельство делает возможным дублирование информации на уровнях: если данные имеются на i-ом уровне, то их копии сохраняются и на всех уровнях с большими номерами. Обозначим через h[i] отношение присутствия - вероятность того, что данные, запрошенные на i-ом уровне памяти, уже имеются на этом уровне. Если мы имеем n уровней памяти, то для n-го уровня отношение присутствия равно 1 и среднее время доступа tav[n] совпадает с t[n]. Для всех уровней с меньшими номерами среднее время доступа может быть определено рекурсивно:

tav[i] = h[i] * t[i] + ( 1 - h[i] ) * tav[i-1].

На программном уровне мы не можем воздействовать ни на t[i], ни на V[i], которое в значительной степени определяет и h[i]. Но мы можем влиять на величину h[i], выбирая для хранения на уровне с меньшим номерам только те данные, обращение к которым производится наиболее часто.

В общем случае проектирование менеджера памяти в составе ОС требует выбора трех основных стратегий:

  • стратегии размещения: какую область реальной памяти выделить процессу? как вести учет свободной/занятой реальной памяти?
  • стратегии подкачки: когда размещать процесс (или часть его) в реальной памяти?
  • стратегии вытеснения: если реальной памяти не хватает для удовлетворения очередного запроса, то у какого процесса отобрать ранее выделенный ресурс реальной памяти (или часть его)?

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

  • фиксированные разделы - модель, не использующая аппаратную трансляцию адресов;
  • односегментная виртуальная память - развитие фиксированных разделов для аппаратной трансляции адресов.
  • модели виртуальной памяти, использующие развитые средства аппаратной трансляции адресов;

    • многосегментная;
    • страничная;
    • комбинированная сегментно-страничная.

  • модели виртуальной памяти, представляющие собой возврат к простым моделям, но на более высоком уровне:

    • плоская;
    • одноуровневая.




Начало  Назад  Вперед



Книжный магазин