Блок управления агрегатом
Эта статья нуждается в дополнительных цитатах для проверки . ( январь 2017 г. ) |
В для мэйнфреймов IBM операционных системах OS/360 и их преемниках Unit Control Block ( UCB ) представляет собой структуру памяти или блок управления , который описывает любое отдельное ввода/вывода периферийное устройство ( модуль ) или воздействие (псевдоним), операционная система. Определенные данные в UCB также дают указание диспетчеру ввода-вывода ( IOS ) использовать определенные закрытые подпрограммы в дополнение к обычной обработке IOS для дополнительного управления физическим устройством.
Некоторые другие операционные системы имеют аналогичную структуру.
Обзор
[ редактировать ]Во время начальной загрузки программы (IPL) текущего [а] В системах MVS программа инициализации Nucleus (NIP) считывает необходимую информацию из файла определения ввода-вывода (IODF) и использует ее для создания UCB. UCB хранятся в памяти, принадлежащей системе, в расширенной системной области очереди ( ESQA ). После завершения IPL UCB принадлежат службе поддержки ввода/вывода. Некоторые данные, хранящиеся в UCB, включают: тип устройства (например, диск, лента, принтер, терминал), адрес устройства (например, 1002 ), идентификатор подканала и номер устройства, идентификатор пути канала (CHPID), который определяет путь к устройство, для некоторых устройств серийный номер тома (VOLSER) и большой объем другой информации, включая данные управления заданиями ОС.
Хотя содержание UCB менялось по мере развития MVS, концепция не изменилась. Это представление операционной системы внешнего устройства. Внутри каждого UCB находится указатель UCBIOQ на текущий [1] Элемент очереди IOS [2] (IOQ), указатели UCBIOQF и UCBIOQL [3] в очередь IOQ [б] (IOQ) и номер подканала для слова идентификации подканала, используемого в команде запуска подканала (SSCH) для запуска программы канала (цепочка командных слов канала (CCW)). [4]
UCB превратился в якорь для хранения информации и состояний об устройстве. В настоящее время UCB имеет пять областей, используемых для внешнего интерфейса: расширение класса устройства, общее расширение UCB, заглушку префикса UCB, общий сегмент UCB и сегмент, зависящий от устройства UCB. [1] Другие области предназначены только для внутреннего использования. Эту информацию можно прочитать и использовать для определения информации об устройстве.
В самых ранних реализациях OS/360 UCB (основы и расширения) собирались во время SYSGEN и располагались в пределах первых 64 КБ системной области, поскольку таблица поиска устройств ввода-вывода состояла из 16-битных адресов. Последующие усовершенствования позволили расширениям находиться выше линии 64 килобайта (65 536 байт), тем самым сэкономив место для дополнительных оснований UCB ниже линии 64 килобайта, а также тем самым сохранив архитектуру таблицы поиска UCB (преобразование CUu в основу UCB). адрес). В конечном итоге установка может решить разместить UCB выше линии 16 МБ, хотя в процессе, называемом теневым копированием UCB, ОС создает временную локальную копию UCB при выделении файла без опции XTIOT .
Обработка параллельных операций ввода-вывода
[ редактировать ]UCB были представлены в 1960-х годах вместе с OS/360. Тогда устройство, к которому обращался UCB, обычно представляло собой жесткий диск с подвижной головкой или ленточный накопитель без внутреннего кэша . мэйнфрейма Без него устройство обычно значительно проигрывало канальному процессору . Следовательно, не было причин одновременно выполнять несколько операций ввода-вывода, поскольку устройство было бы невозможно физически их обработать. В 1968 году IBM представила диски с фиксированной головкой 2305-1 и 2305-2, которые имели определение положения вращения (RPS) и восемь экспозиций (псевдонимов адресов) на диск; поддержка OS/360 обеспечивала UCB для каждого воздействия, чтобы разрешить несколько одновременных программ канала. [5] Аналогично, более поздние системы, созданные на основе OS/360, требовали дополнительного UCB для каждого выделенного виртуального тома в IBM 3850 Mass Storage System (MSS). [6] и для каждого воздействия на 3880-11 и его преемниках. [7] [8]
Тома с параллельным доступом (PAV)
[ редактировать ]Поскольку одновременно может быть запущен только один набор команд канала или ввода-вывода. Это было нормально в 1960-х годах, когда процессоры были медленными, а ввод-вывод мог обрабатываться только настолько быстро, насколько процессоры могли его обработать. По мере того, как системы развивались, а скорость ЦП значительно превышала возможности ввода-вывода, доступ к устройству, сериализованному на уровне UCB, стал серьезным узким местом.
Том параллельного доступа ( PAV ) позволяет UCB клонировать себя, чтобы обеспечить одновременную работу нескольких устройств ввода-вывода. При соответствующей поддержке аппаратного обеспечения DASD PAV обеспечивает поддержку более чем одного ввода-вывода на одно устройство одновременно. Для обеспечения обратной совместимости операции по-прежнему сериализуются ниже уровня UCB. Но PAV позволяет определять дополнительные UCB для одного и того же логического устройства, каждый из которых использует дополнительный адрес -псевдоним . Например, устройство DASD с базовым адресом 1000 может иметь псевдонимы 1001, 1002 и 1003. Каждый из этих псевдонимов будет иметь свой собственный UCB. Поскольку теперь в одном устройстве имеется четыре UCB, возможны четыре одновременных ввода-вывода. Записи в том же объеме (область диска, назначенная одной непрерывной области файла) по-прежнему сериализуются, но другие операции чтения и записи происходят одновременно. В первой версии PAV контроллер диска назначает PAV UCB. Во второй версии обработки PAV диспетчер рабочей нагрузки (WLM) время от времени переназначает PAV новым UCB. В третьем варианте обработки PAV с В серии IBM DS8000 каждый ввод-вывод использует любой доступный PAV с необходимым ему UCB.
Конечным эффектом PAV является уменьшение временной составляющей IOSQ времени отклика диска, часто до нуля. По состоянию на 2007 год [update] единственными ограничениями для PAV являются количество адресов-псевдонимов, 255 на базовый адрес, и общее количество устройств на логический блок управления, 256, считая базу плюс псевдонимы.
ГиперПАВ
[ редактировать ]Действия WLM по перемещению псевдонимов с одного дискового устройства на другое занимают несколько секунд, прежде чем эффект будет виден. Для многих ситуаций это недостаточно быстро. HyperPAV значительно более отзывчивы, поскольку они получают UCB из пула на время одной операции ввода-вывода, прежде чем вернуть его в пул. Таким образом, для обслуживания той же рабочей нагрузки требуется меньшее количество UCB по сравнению с динамическими PAV. Реакция WLM не затягивается. [9]
В других операционных системах
[ редактировать ]компании Digital Операционная система VMS использует для аналогичных целей структуру с таким же названием — UCB. UCB создается для каждого устройства ввода-вывода. Данные в UCB включают номер устройства (часть имени устройства) и заголовок списка, к которому могут быть поставлены в очередь ожидающие запросы ввода-вывода. UCB может иметь расширение, определяемое драйвером устройства, в котором драйвер может хранить определяемые драйвером данные, экземпляры которых создаются для каждого устройства. [10]
См. также
[ редактировать ]- z/OS – 64-битная операционная система для мэйнфреймов IBM
Примечания
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б «Карта UCB» (PDF) . z/OS 2.5 Области данных MVS Области данных MVS, том 4 (RRP - XTL) (PDF) . ИБМ. 30 сентября 2021. с. 994 . ГА32-0938-500 . Проверено 9 мая 2022 г.
- ^ «Информация о IOQ» (PDF) . z/OS 2.5 Области данных MVS, том 2 (IAX – ISG) (PDF) . ИБМ. 30 сентября 2021 г. стр. 1033–1039. ГА32-0936-50 . Проверено 8 мая 2022 г.
- ^ «Сопоставление IOSDUPFX» (PDF) . z/OS 2.5 Области данных MVS, том 2 (IAX – ISG) (PDF) . ИБМ. 30 сентября 2021. с. 1181 . ГА32-0936-50 . Проверено 9 мая 2022 г.
- ^ z/Принципы работы архитектуры (PDF) (Четырнадцатое изд.). ИБМ. Май 2022. с. 14-15. SA22-7832-13 . Проверено 24 января 2023 г.
- ^ «ЙОДЕВИС» (PDF) . Поколение ОС - выпуск 21.8 (PDF) (четырнадцатое изд.). ИБМ. Август 1974 г. с. 339. GC28-6554-13 . Проверено 24 января 2023 г.
- ^ «Концепция виртуального привода» (PDF) . Введение в систему хранения данных IBM 3850 Mass Storage (MSS) (PDF) (Третье изд.). ИБМ. Июль 1975 г. с. 22. ГА32-0028-2 . Проверено 24 января 2023 г.
- ^ «IBM 3880 Storage Control, модель 21» . ИБМ. 18 сентября 1984 г. 184–119 . Проверено 24 января 2023 г.
- ^ IBM 3880 Storage Control Model 21 — Руководство по установке и администрированию (PDF) (первое издание). ИБМ. Октябрь 1984 г. с. 3. ГА32-0084-0 . Проверено 24 января 2023 г.
- ^ Роджерс, Пол; Салла, Альваро; Соуза, Ливио (сентябрь 2008 г.). «Функция 7.22 HyperPAV для серии DS8000» (PDF) . Азбука системного программирования z/OS (PDF) . Том. 10 (Четвертое изд.). ИБМ. п. 494. СГ24-6990-03 . Проверено 5 мая 2022 г.
{{cite book}}
:|work=
игнорируется ( помогите ) - ^ Гольденберг, Рут; Сараванан, Сара (1994). Внутреннее устройство OpenVMS AXP и структуры данных . Цифровая пресса. п. 753. ИСБН 978-1555581206 .
Исполнительный орган создает блок управления устройством (UCB) для каждого устройства ввода-вывода, подключенного к системе.