Основной метод прямого доступа - Basic direct access method
Базовый метод прямого доступа , или BDAM, - это метод доступа для IBM OS / 360 и последующих компьютерных операционных систем на мэйнфреймах System / 360 и более поздних версиях . BDAM «состоит из процедур, используемых для извлечения данных из устройств прямого доступа и их хранения ». BDAM доступен в OS / 360 , OS / VS2 , MVS , z / OS и связанных операционных системах высокого класса.
Описание
Базовый , в терминологии IBM, означает метод доступа нижнего уровня, который имеет дело с наборами данных в терминах физических блоков и не обеспечивает ни упреждающего чтения, называемого упреждающей буферизацией , ни синхронизации, то есть пользовательская программа должна явно ждать завершение каждого события ввода / вывода.
С помощью BDAM «программист может напрямую сохранять и извлекать блок, задав либо его фактический адрес устройства , его относительное положение в наборе данных (относительный номер блока), либо относительную дорожку в наборе данных, с которой система должна начать поиск.
BDAM не предоставляет никакого индекса или структуры для файла, за исключением случаев, запрограммированных приложением. Во многих приложениях для присвоения адреса блока на основе ключа в данных может использоваться функция хеширования или рандомизации. Если используются физические ключи , ключ последней записи в блоке должен быть записан как ключ для этого блока.
Интерфейс прикладной программы BDAM можно сравнить с интерфейсом, предлагаемым вызовами открытия , чтения , записи и закрытия (с использованием файловых дескрипторов) в других операционных системах, таких как Unix и Windows .
BDAM по-прежнему поддерживается IBM с 2012 года. Из-за его зависимости от геометрии физического устройства новые устройства прямого доступа IBM, используемые с z / OS, эмулируют устройства IBM 3390 независимо от их реальных физических характеристик.
Интерфейс прикладной программы
Программист указывает DSORG=DAв своем блоке управления данными (DCB) указать использование BDAM. На каждом томе может быть до 16 экстентов . Набор данных (эквивалент «файла») может размещаться в 255 экстентах на нескольких томах. Если приложение зависит от пространства, находящегося на смежных дорожках, вы можете выделить пространство для прямого набора данных в смежных дорожках, закодировав оператор DD.
SPACE=(,,CONTIG)
Перед использованием наборы прямых данных необходимо предварительно отформатировать, открыв их как выходные данные и последовательно записав все блоки. Это может загрузить все «фиктивные» записи или загрузить исходные данные.
В качестве основного метода доступа BDAM считывает и записывает данные элементов в блоках, а операция ввода-вывода выполняется асинхронно и должна быть проверена на завершение с помощью CHECKмакроса. BDAM использует стандартные системные макросы OPEN, CLOSE, READ, WRITE, и CHECK. В READили WRITE макрокоманды необходимо указать адрес блока или клавишу нужной записи. CHECKМакрос должен быть использован , чтобы ждать завершения операции специфической до того , как данные могут быть доступны или буфер данных для повторного использования. Можно запускать несколько операций ввода / вывода одновременно.
Записи в прямом наборе данных могут содержать указанные пользователем записанные ключи длиной до 255 байт - все ключи в файле должны быть одинаковой длины. Чтения и записи могут указывать ключ в дополнение к адресу диска, и BDAM будет искать запись с совпадающим ключом, начиная с запрошенного блока до всей области файла. Это позволяет использовать несколько ключей хэширования к одной и той же дорожки , которая будет обрабатываться автоматически с помощью подсистемы ввода / вывода.
Адреса дисков
BDAM принимает адреса дисков как фактические адреса устройств, как относительные адреса дорожек или как относительные номера блоков.
Адреса устройств представляют собой восьмибайтовые поля в форме MBBCCHHR . Все подполя представляют собой двоичные числа.
- M - это номер экстента для файлов с более чем одним экстентом (несмежные файлы).
- BB равен нулю. Ранее это указывало на корзину на ячейке данных IBM 2321 .
- CC - это абсолютный номер цилиндра на устройстве.
- HH - номер дорожки (головы).
- R - номер записи на треке. Нулевая запись содержит управляющую информацию для трека и не может быть использована.
Указание адресов устройств делает набор данных неподвижным .
Относительные адреса треков представляют собой трехбайтовые поля в форме TTR . Все подполя представляют собой двоичные числа.
- TT - относительный номер дорожки в файле, начинающийся с нуля.
- R - номер записи на треке.
Относительные номера блоков - это четырехбайтовые (полные слова) двоичные числа, указывающие номер блока в файле. Первым блоком является блок 0. Эта форма адресации может использоваться только с блоками фиксированной длины ( RECFM=F).
Смотрите также
Ссылки
- ^ IBM System / 360 Operating System Basic Direct Access Method Program Logic Manual (PDF) . IBM. Июль 1967 г. Y28-6617-3.
- ^ a b c d Управление данными операционной системы IBM System / 360 (PDF) . IBM. Апрель 1966 г. C28-6537-1.
- ^ CICS и BDAM , информационный центр IBM
- ^ Корпорация IBM (июнь 1973 г.). Макроинструкции по управлению данными ОС (PDF) . Проверено 19 августа 2016 года .
- ^ Корпорация IBM. «Выполнение программ прямого доступа» .
- ^ Руководство по службам управления данными ОС (PDF) . IBM. Июль 1973 года. GC26-3746-2.
внешние ссылки
- Введение в устройства хранения с прямым доступом IBM и методы организации (PDF) . IBM. Февраль 1974 г. GC20-1649-9.