Функции CP. Управление реальной памятью
| памяти может быть не меньше 16 МБ | 16 M | |-------------------------------------------------+----------| | TRACE | ~ 15.8 M | | Область трассировки | | | используется для отслеживания работы CP | | | каждое событие в работе CP отражается записью | | | в области трассировки. При переполнении области | | | происходит ее заполнение сначала. Указатель на | | | следующую свободную запись храниться где то | | | в нулевой странице | | | Нужна что бы понять что делал CP до аварийного | | | завершения | | |-------------------------------------------------+----------| | DPA | ~ 2 M | | динамическая страничная область | | | используется для размещения страниц вирт | | | адресных пространств как самого CP, так | | | и всех вм. С размером этой области планировщик | | | сравнивает суммарный рабочий набор | | |-------------------------------------------------+----------| | FREE | ~ 500 K | | "свободная область" | | | область, в которой динамически создаются | | | модифицируются и уничтожаются различные | | | управляющие структуры вм | | | ( где хранятся идентификаторы вм ... ) | | | выделяется память для канальных программ | | | все запросы CP к памяти | | |-------------------------------------------------+----------| | Нестраничная часть ядра | 4 K | | предназначена для хранения | | | тех программ CP, которые обязаны | | | присутствовать в памяти всегда | | | обработчики прерываний, программы в/в | | | страничного обмена, планировщик и диспетчер | | |-------------------------------------------------+----------| | PSA | | | нулевая страница оп | 0 K | Об отсутствии в области DPA той или иной страницы памяти вм CP узнает при помощи прерываний по особому случаю использования страницы или сегмента Обрабатывая это прерывание, CP должен сделать требуемую страницу доступной, поместив ее в область DPA. ( первое обращение к странице. CP находит в области DPA пустую страницу, если нет - освобождает страницу страница уже использовалась, но ее нет в DPA. Значит она в "файле подкачки". Очищает страницу и записывает туда эту страницу ) При отсутствии страницы в области DPA возможны 2 случая 1) эта страница раннее не использовалась вм должна быть предоставлена пустая страница ( пустая - что бы защитить данные от другой вм ) 2) запрашиваемая страница ранее использовалась этой вм в этом случае эта страница должна быть считанна из области страничного обмена и помещена в область DPA 3) О обоих случаях может потребоваться освобождение страницы из области DPA CP реализует стратегию замещения страниц основанную на выборе длительного времени не использовавшейся страницы Если выбранная страница имеет актуальную копию в области страничного обмена, то в ее записи на диск нет необходимости Величина области страничного обмена не должна превышать двукратного размера области реальной памяти используемой для организации виртуальных адресных пространств В противном случае накладные расходы на страничный обмен могут стать недопустимо велики.
все используемые CP устройства ввода/вывода должны быть перечислены в файле конфигурации системы ввода/вывода этот файл подготавливается системным программистом на основе данных из этого файла CP создает управляющие структуры для каждого компонента системы ввода/вывода RCHBLOK - блок для каналов RCUBLOK - блок для устройств управления RDEVBLK - для устройств ввода вывода Все блоки находятся в нестраничной части ядра CP Эти управляющие структуры содержат информацию о типе устройства, его адресе, свойствах, а также об очередях запросов на в/в для данного устройства Когда устройство заканчивает работу, из этой очереди выбирается следующий запрос на ввода/вывода, если есть, и выполняется Запросы на ввод/вывод могут создаваться как по инициативе вм, так и по инициативе CP Вм запрашивает операцию ввода/вывода обычным образом. Готовит канальную программу и выполняет команду sio Так как программа вм принудительно выполняется в режиме задач, происходит программное прерывание При обработке этого программного прерывания CP находит требуемое реальное устройство, преобразует канальную программу, и ставит запрошенную операцию ввода/вывода в очередь реального устройства При преобразовании канальной программы происходит замена виртуальных адресов реальными, а так же преобразование адресов на магнитных дисках Канальная программа не портиться Запросы по инициативе CP Запросы на в/в по инициативе CP возникают при страничном обмене, а так же в/в файлов накопления Обрабатываются так же, за исключением отсутствия трансляции реальных адресов
Функции CP. Управление устройствами ввода/вывода