Базовый метод секционированного доступа
В мэйнфреймов IBM операционных системах используется базовый метод секционированного доступа ( BPAM ). [ 1 ] — это метод доступа к библиотекам , который в терминологии IBM называется секционированными наборами данных (PDS). BPAM используется в OS/360 , OS/VS2 , MVS , z/OS и других.
PDS состоит из членов (внутри идентичных последовательным наборам данных ), зарегистрированных в списке, называемом каталогом . Комбинация элементов и каталога представляет собой единый набор данных на диске. Каталог содержит список имен участников (8 символов, дополненных справа пробелами по мере необходимости) и адреса участников. Адреса задаются относительно начала набора данных, что позволяет переместить PDS в другое место на диске.
Секционированные наборы данных могут хранить данные любого типа, но они часто используются для хранения исполняемых программ или модулей загрузки , иногда называемых двоичными файлами в других системах. Другие области применения включают определения макросов системного ассемблера , процедуры управления заданиями и исходный код программ.
Интерфейс прикладной программы
[ редактировать ]BPAM предоставляет программный интерфейс приложения (API), позволяющий программистам напрямую обращаться к библиотекам. API BPAM аналогичен базовому методу последовательного доступа (BSAM), но он добавляет функциональность к каталогам процессов. Отдельные члены PDS также могут обрабатываться с использованием методов последовательного доступа, указав имя члена в операторе DD управления заданием .
Программист указывает DSORG=PO
в своем блоке управления данными (DCB), чтобы указать на использование BPAM.
В качестве базового метода доступа BPAM считывает и записывает данные-члены блоками , а операции ввода-вывода выполняются асинхронно и должны быть проверены на завершение с помощью CHECK
макрос. [ 2 ] BPAM использует стандартные системные макросы. OPEN
, CLOSE
, READ
, WRITE
,и CHECK
. NOTE
Макроинструкция возвращает позицию последнего прочитанного или записанного блока, а POINT
макрос переместится в место, указанное предыдущим NOTE
. [ 2 ] BLDL
Макрос может использоваться для построения списка адресов членов, указанных программистом, для последующего использования при желании. FIND
позиции одному члену, указанному по имени, которое требует поиска каталога на диске, или по адресу, ранее полученному BLDL
. STOW
Макрос используется для обновления каталога при добавлении, удалении, изменении (в том числе переименовании) или замене участника. [ 3 ]
Загрузочные модули
[ редактировать ]Операционная система требует, чтобы все исполняемые программы хранились в библиотеках, поскольку запись каталога участника содержит дополнительную информацию об атрибутах, специфичную для загружаемых модулей. При использовании для хранения загрузочных модулей каталоги также содержат, помимо других данных, размер загрузочного модуля и адрес первой «текстовой записи», который отличается от адреса первых данных-членов. Исполняемые программы записываются в библиотеки редактором связей и загружаются в пользовательское хранилище с помощью загрузчика (прикладной программы) или в системное хранилище с помощью Program Fetch (компонент супервизора ОС ).
Редактор связей организует модуль загрузки в специализированном формате, состоящем из чередующихся «текстовых записей» и «записей словаря управления/перемещения». Такая организация позволяет полностью загружать и перемещать загрузочный модуль с помощью одной операции ввода-вывода с помощью Program Fetch ( EXCP в системах до MVS или STARTIO в системах MVS/370 и более поздних версиях).
Ссылки
[ редактировать ]- ^ Руководство по логике программы для операционной системы IBM System/360. Методы последовательного доступа (PDF) . ИБМ. Январь 1967 г. Y28-6604-1.
- ^ Jump up to: а б Корпорация IBM (июнь 1973 г.). Инструкции по макросам управления данными ОС (PDF) . п. 157 . Проверено 19 августа 2016 г.
- ^ Корпорация IBM (июль 1973 г.). Руководство по службам управления данными ОС (PDF) . стр. 75–85 . Проверено 19 августа 2016 г.