The design of the UNIX Operating System 56 страница



 

Стратегии управления страничной памятью

 

Программное обеспечение подсистемы управления памятью связано с реализацией следующих страте-гий:

 

Стратегия выборки (fetch policy) - в какой момент следует переписать страницу из вторичной памяти в первичную. Существует два основных варианта выборки - по запросу и с упреждением. Алгоритм вы-борки по запросу вступает в действие в тот момент, когда процесс обращается к отсутствующей страни-це, содержимое которой находится на диске. Его реализация заключается в загрузке страницы с диска в свободную физическую страницу и коррекции соответствующей записи таблицы страниц.

 

Алгоритм выборки с упреждением осуществляет опережающее чтение, то есть кроме страницы, вызвав-шей исключительную ситуацию, в память также загружается несколько страниц, окружающих ее (обыч-но соседние страницы располагаются во внешней памяти последовательно и могут быть считаны за одно обращение к диску). Такой алгоритм призван уменьшить накладные расходы, связанные с большим ко-личеством исключительных ситуаций, возникающих при работе со значительными объемами данных или кода; кроме того, оптимизируется работа с диском.

 

Стратегия размещения (placement policy) - в какой участок первичной памяти поместить поступающую страницу. В системах со страничной организацией все просто - в любой свободный страничный кадр. В случае систем с сегментной организацией необходима стратегия, аналогичная стратегии с динамическим распределением.

 

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

 

Алгоритмы замещения страниц

 

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


Основы операционных систем 90

• найти некоторую занятую страницу основной памяти;

 

• переместить в случае надобности ее содержимое во внешнюю память;

• переписать в этот страничный кадр содержимое нужной виртуальной страницы из внешней памя-ти;

• должным образом модифицировать необходимый элемент соответствующей таблицы страниц;

 

• продолжить выполнение процесса, которому эта виртуальная страница понадобилась.

 

Заметим, что при замещении приходится дважды передавать страницу между основной и вторичной па-мятью. Процесс замещения может быть оптимизирован за счет использования бита модификации ( один из атрибутов страницы в таблице страниц). Бит модификации устанавливается компьютером, если хотя бы один байт был записан на страницу. При выборе кандидата на замещение проверяется бит модифика-ции. Если бит не установлен, нет необходимости переписывать данную страницу на диск, ее копия на диске уже имеется. Подобный метод также применяется к read-only-страницам, они никогда не модифи-цируются. Эта схема уменьшает время обработки page fault.


Дата добавления: 2021-01-21; просмотров: 91; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!