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

Управление внешней памятью.

Страницы вытесняются во внешнюю память в места, которые называются гнезда. Для обращения к гнезду используется 4-байтный адрес CCPD, CC -- номер цилиндра, P -- номер гнезда на цилиндре, D -- код устройства. Данный адрес преобразуется в формат CCHHR, где CC -- адрес цилиндра, HH -- номер головки, R -- номер записи.

Алгоритм распределения гнезд:

1)для описания каждой области страничного обмена в ОС строится так называемый Allockblock, в который помещается следующая информация:

-кол-во цилиндров на участке области page

-кол-во распределенных цилиндров

-схема распределения цилиндров

2) для каждого распределенного цилиндра строится Recblock. Все Recblock и связываются в цепочку. Recblock содержит:

-количество гнезд на цилиндре

-количество распределенных гнезд

-битовую схему распределения гнезд на цилиндре

При распределении гнезд для страничного обмена, просматривается первый в цекочке Allockblockов. Первый Recblock, для которого количество распределенных гнезд не максимально, выбирается для распределения. Свободное гнездо ищется с помощью схемы распределения гнезд. Первое свободное гнездо распределяется под запрос. Если на цилиндре нет свободных гнезд, выбирается следующий и так далее. Если в первом Allockblockе нет цилиндров, свободных для распределения, выбирается следующий блок. Когда область Page заполняется на 70%, выдается диагностическое сообщение о том, что свободное место в области page ограничено. Администратор должен снять некоторые ВМ или провести иные действия.

Планирование и диспетчирование.

Функции планирования и диспетчирования зависят от того, какой процесс выполняется. Выделяется 4 типа процессов:

- системный

- процесс, порожденный ОС ВМ

- обслуживание ВМ CP

- состояние ожидания

Если выполнялась системная задача, то, значит, осуществлялся непосредственно процесс диспетчирования. Диспетчер обслуживает две очереди системных процессов: IO-блоков и CPEX-блоков. IO-блок описывает события ввода-вывода и попадает в очередь к диспетчеру после завершения операций ввода-вывода. CPEX-блок попадает в очередь, когда системному процессу требуется предоставить ресурс. Очередь CPEX-блоков обеспечивает очередность выполнения системных процессов. CPEX-блок содержит адрес команды, в которую надо передать управление. Если очередь CPEX-блоков пуста, открываются маски для обработки прерывания. Если в очереди нет системных процессов после открытия масок происходит диспетчирование ВМ(просматривается runlist). Первая ВМ в списке получает управление.

Если осуществляется обслуживание ВМ, то выполняется учетная функция(подсчитывается время в состоянии выполнения, моделируются средсвтва отсчета времени, отражение на виртуальную машину прерываний).

Управление вводом-выводом.

Планирование и выполнение операций ввода-вывода имеет две особенности: виртуальные адреса программ операционной системы виртуальной машины.

1. Виртуальные адреса в программах ввода-вывода, непосредственно связанных с устройствами, образуются не средствами механизма страничного обмена, а программным путем.

2. Диапазон виртуальных адресов, участвующих, участвующих в виртуальной программе ввода-вывода виртуальной машины определяет непрерывную область, но в реальной ОП может быть представлен не смежными участками.

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

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

Когда диспетчер ввода-вывода обнаруживает, что область обмена реальной ОП пересекает границу страницы, осуществляется переход над другой элемент списка. Данный процесс называется косвенной адресацией при вводе-выводе.

Моделирование операций ввода-вывода.

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

Средства взаимодействия виртуальных машин.

Взаимодействие ВМ осуществляется с помощью штатного средства VMCF. VMCF обеспечивает передачу информации из виртуальной памяти процесса ВМ в виртуальную память процесса другой ВМ. Размер передаваемых данных не ограничен. Имеется возможность передавать данные сразу группе ВМ или всем ВМ.

Возможна передача сообщений с квитанциями и без квитанций. Передача данных осуществляется по командам, которые можно встраивать в программы, выполняющиеся в ВМ. VMCF поддерживает 6 типов протоколов обмена.