Вход / выход супервизора ( IOS ) [1] в том , что часть управляющей программы в ЭВМ IBM OS / 360 и преемники операционной системы , который выдает привилегированные инструкции ввода / вывода и контролирует в результате прерывания ввода / вывода для любой программы , какие запросы Операции устройства ввода-вывода до нормального или аварийного завершения этих операций.
Цели
IOS преследует две цели:
- Для обработки запросов ввода-вывода, которые являются запросами на выполнение программ канала.
- Для обработки прерываний ввода-вывода, которые возникают в результате выполнения программ канала и вмешательства оператора.
Разделы программы
Чтобы облегчить обработку запросов ввода-вывода и прерываний, IOS разделена на два основных программных раздела (CSECT):
- Выполнять супервизор программ канала ( EXCP в PCP, MFT / MFT-II и MVT; EXCP / EXCPVR в SVS; STARTIO в MVS / 370 и более поздних экземплярах ОС)
- Диспетчер прерываний ввода / вывода
Эти основные разделы находятся в оперативной памяти и обеспечивают поддержку управляющих программ для нормального выполнения программ каналов.
Вторичные программные разделы (также CSECT), называемые процедурами восстановления после ошибок (ERP), за одним исключением расположены на внешнем хранилище и переносятся в основное хранилище для восстановления после ненормального выполнения программ канала. В ранних версиях ОС эти разделы были перенесены в «переходную область» супервизора ввода / вывода, что мало чем отличается от «переходных областей» вызова супервизора программы управления OS / 360 . В экземплярах ОС после MVT эти разделы расположены в области страничного пакета ссылок (PLPA) и выгружаются по запросу.
Единственным исключением является, конечно, ERP для устройств хранения с прямым доступом, которые всегда должны оставаться резидентными для восстановления после возможных ошибок ввода-вывода на томе IPL и на других томах, которые содержат наборы данных, которые могут быть объединены с определенными наборами системных данных. .
Мультипрограммирование
IOS разработана на основе концепции многопрограммирования, в соответствии с которой операции на разных каналах ввода-вывода, блоках управления и устройствах могут управляться одновременно и, по-видимому, одновременно. Этот параллелизм и очевидная одновременность присутствует даже в самой базовой версии ОС, PCP, которая в остальном поддерживает только одну пользовательскую задачу, поскольку базовая аппаратная архитектура имеет только один набор инструкций ввода-вывода и только одно прерывание ввода-вывода для доступ к устройствам и для доступа к результирующему состоянию устройства, соответственно, доступный для поддержки всех подключенных устройств ввода-вывода, поэтому все операции устройства ввода-вывода должны синхронно мультиплексироваться в полдюжины привилегированных инструкций ввода-вывода и асинхронно демультиплексироваться из- за единственного прерывания ввода-вывода IOS [NB 1], но весь этот процесс, от начала до конца, выглядит синхронным с приложением. По сути, IOS - это гипервизирующая операционная система, построенная поверх самой ОС и полностью внутри нее, а не как отдельная функция. Конечно, это очень специализированный гипервизор , поскольку гипервизия ограничена несколькими инструкциями ввода-вывода и одним прерыванием ввода-вывода.
Многопроцессорность
В MVS / 370 и более поздних экземплярах ОС IOS также разработана на основе концепции многопроцессорной обработки, в соответствии с которой все доступные процессоры, до двух в MVS / 370 и до шестнадцати в более поздних экземплярах ОС (двенадцать поддерживались IBM; шестнадцать были поддержаны Амдалом), эффективно и рационально используются. И, чтобы наилучшим образом использовать эту возможность многопроцессорной обработки, многопрограммная реализация IOS была разделена на более мелкие исполняемые блоки, в частности те, которые могут выполняться под управлением SRB .
Инициирование / Завершение
IOS не запускается программистом напрямую. Напротив, IOS вызывается через «записи ветвления» для запуска запросов ввода-вывода и через «обработчики прерываний» для выполнения запросов ввода-вывода.
Заметки
- ^ Исторически этому мультиплексированию / демультиплексированию способствовал специальный блок управления, частный для IOS и ее компонентов, так называемая «двенадцать звезд» (сокращенно 12 *) в версиях OS / 360 до MVT и т. Д. - называется «шестнадцать звезд» (сокращенно 16 *) в MVT, но в большинстве случаев все еще называется «двенадцатью звездами». «Шестнадцать звезд» остались в процессоре EXCP MVS / 370 для целей совместимости, но эти частные блоки управления стали менее значимыми, поскольку большая часть функций IOS была выгружена на сами каналы ввода-вывода в версиях после MVS / 370. железо и софт.
Рекомендации
- ^ Корпорация IBM (1967). Администратор ввода / вывода операционной системы IBM System / 360 (PDF) .