В IBM мэйнфреймов операционных систем , основной метод секционированной доступа ( базисный библиотечный метод доступа ) [1] является метод доступа к библиотекам , называемые секционированные наборы данных (PDSes) в терминологии IBM. 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] базисный библиотечный метод доступа использует стандартные системные макросы 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) . IBM. Январь 1967 г. Y28-6604-1.
- ^ а б Корпорация IBM (июнь 1973 г.). Макроинструкции по управлению данными ОС (PDF) . п. 157 . Проверено 19 августа 2016 года .
- ^ Корпорация IBM (июль 1973 г.). Руководство по службам управления данными ОС (PDF) . С. 75–85 . Проверено 19 августа 2016 года .