Хранение страничной памяти на диске.

Простейшим способом для распределения виртуального адресного пространства и пространства страничного обмена является поддержка системных областей подкачки. Когда запускается процесс, то в зависимости от занимаемого адресного пространства процесса резервируется участок области подкачки размером не меньше, чем сам процесс. Как только процесс завершается, виртуальное адресное пространство и область подкачки освобождаются. Как правило, область подкачки управляется как список свободных участков. Ссылка на список области подкачки, отводимый процессу, хранится в таблицах, описывающих процесс. Адрес для записи виртуальной страницы определяется положением страницы внутри виртуального адресного пространства и прибавляется к началу выделенной области. Вытеснение/замещение страниц осуществляется в соответствии с таблицами, которые описывают определенным образом области, свободные для перемещения/вытеснения/замещения страницы из реальной ОП в область подкачки.

Пример.

Управление страничным обменом рассмотрим на примере ОС 20-25 летней давности. Страничный набор и область подкачки в ОС данного типа создается на этапе NIP. Страничный обмен управляется диспетчером страничного обмена. Управляющая информация для него следующая:

1. Таблица сегментов. SMT (segment main table).

Хранение страничной памяти на диске. - student2.ru

2. Таблица страниц PMT.

Адрес страницы, индикатор доступности.

 
  Хранение страничной памяти на диске. - student2.ru

3. MBT (memory block table).

В SMT каждому сегменту соответствует одна строка. Строки упорядочены по номерам сегментов. Сегмент считается доступным, если индикатор доступности равен 0. Для всех сегментов в таблице сегментов виртуального пространства индикатор доступности равен 0.

В PMT каждой странице сегмента соответствует строка. Строки упорядочены по номерам.

XPT определяет таблицу внешних страниц. Содержит адрес виртуальной страницы в страничном наборе данных или области подкачки. MPT описывает блоки реальной ОП. Каждый блок может быть в одной из трех различных очередей:

1. Очередь свободных блоков - доступных для загрузки виртуальной страницы.

2. Очередь выделенных блоков - выделенные на текущем шаге планирования (диспетчирования) для замещения виртуальной страницы.

3. Очередь активных страниц - использующихся в настоящее время.

Информация о состоянии страниц формируется аппаратно. Фреймы оперативной памяти распределены по четырем очередям.

1. Фреймы, содержащие неизмененные страницы, к которым не было обращений.

2. Фреймы, содержащие измененные страницы, к которым не было обращений.

3. Фреймы, к которым было обращение по чтению.

4. Фреймы с измененными страницами.

Механизм управления следующий: до тех пор, пока очередь свободных блоков не пуста замещение страниц не происходит, алгоритм замещения включается в работу при пустой очереди свободных блоков. Для загрузки страницы из виртуального адресного пространства в реальную ОП используется компонента загрузчик. Для хранения области подкачки пространство на диске разбивается на теги, размером в страницу. Вся область подкачки представляется битовым массивом. 1 - тег занят, 0 - свободен. Обращение к тегу для записи/считывания осуществляется ОС с использованием таблицы, описывающей адрес цилиндра, головки и сектора каждого тега. При загрузке в реальную ОП из тега тег освобождается и готов к получению информации при вытеснении рамки.

Наши рекомендации