Супервайзер ввода/вывода
Супервизор ввода/вывода ( 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 [ Примечание 1 ] однако весь этот процесс, от начала до конца, выглядит синхронным с приложением. По сути, IOS — это гипервизирующая операционная система, построенная поверх самой ОС и целиком внутри нее, а не как отдельная функция. очень специализированный гипервизор Разумеется, , поскольку гипервизия ограничена несколькими инструкциями ввода-вывода и одним прерыванием ввода-вывода.
Многопроцессорность
[ редактировать ]В MVS/370 и более поздних экземплярах ОС IOS также разработана на основе концепции многопроцессорности , согласно которой все доступные процессоры: до двух в MVS/370 и до шестнадцати в более поздних экземплярах ОС (двенадцать поддерживались IBM; шестнадцать были поддержаны Amdahl), эффективно и результативно используются. И чтобы наилучшим образом использовать эту возможность многопроцессорной обработки, реализация мультипрограммирования IOS была разделена на более мелкие исполняемые модули, в частности те, которые могут выполняться под управлением SRB .
Начало/завершение
[ редактировать ]IOS не вызывается программистом напрямую. Скорее, IOS вызывается через «записи ветвей» для запуска запросов ввода-вывода и через «обработчики прерываний» для завершения запросов ввода-вывода.
Примечания
[ редактировать ]- ^ Исторически сложилось так, что этому мультиплексированию/демультиплексированию способствовал специализированный блок управления, частный для IOS и его компонентов, так называемые «двенадцать звезд» (сокращенно 12 *) в версиях OS / 360 до MVT и т. Д. - в МВТ называется «шестнадцать звезд» (сокращенно 16 *), но в большинстве случаев все равно называется «двенадцать звезд». «Шестнадцать звезд» остались в процессоре EXCP MVS/370 в целях совместимости, но эти частные блоки управления стали менее значимыми, поскольку в пост-MVS/370 воплощениях большая часть функций IOS была перегружена на сами каналы ввода-вывода. аппаратное и программное обеспечение.
Ссылки
[ редактировать ]- ^ Корпорация IBM (1967). Супервизор ввода-вывода операционной системы IBM System/360 (PDF) .