Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ос_ЛЕКЦИИ_для _методички_.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
821.76 Кб
Скачать

Перезапуск прерванной команды процессора.

Когда выполняется команда и происходит обращение к адресу, который выходит за пределы страницы, происходит прерывание по отсутствию страницы. Если страница в реальной ОП есть, то происходит преобразование и берется операнд из соответствующей рамки реальной ОП. После того, как страница загружена в рамку, команду вызвавшую прерывание необходимо запустить. Различают прерывание, вызванное по отсутствию страницы для выборки команды одного или двух операндов. Перезапуск команд осуществляется с помощью механизма слова состояния программы PSW, либо используются так называемые автоинкрементные режима адресации, т.е. увеличение или уменьшение значения тех или иных регистров (аппаратная поддержка).

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

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

Пример.

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

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

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

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

3. MBT (memory block table).

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

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

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

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

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

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

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

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

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

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

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

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