stringtranslate.com

Набор данных (мэйнфрейм IBM)

В контексте мэйнфреймов IBM в линейке S/360 набор данных (предпочтительно IBM) или набор данных — это компьютерный файл, имеющий организацию записи . Использование этого термина началось, например, с DOS/360 , OS/360 , и до сих пор используется их преемниками, включая текущую z/OS . Документация для этих систем исторически предпочитала этот термин, а не файл .

Набор данных обычно хранится на устройстве хранения данных с прямым доступом (DASD) или магнитной ленте [ 1], однако устройства единичной записи, такие как считыватели перфокарт, перфораторы, строчные принтеры и страничные принтеры, могут обеспечивать ввод/вывод (I/O) для набора данных (файла). [2]

Наборы данных не являются неструктурированными потоками байтов , а скорее организованы в различные логические записи [3] и блочные структуры, определяемые DSORG(организацией набора данных), RECFM(форматом записи) и другими параметрами. Эти параметры указываются во время выделения (создания) набора данных, например, с помощью операторов Job Control Language DD . В работающей программе они хранятся в блоке управления данными (DCB) или блоке управления доступом (ACB), которые представляют собой структуры данных, используемые для доступа к наборам данных с использованием методов доступа .

Записи в наборе данных могут иметь фиксированную, переменную или «неопределенную» длину. [4]

Организация набора данных

Для OS/360 параметр DCB DSORGопределяет, как организован набор данных. Это может быть [5]

КВ
Метод доступа к очередям телекоммуникаций (QTAM) в программе управления сообщениями (MCP)
СХ
Группа линий связи
ДА
Базовый метод прямого доступа (BDAM)
ГС
Графическое устройство для метода графического доступа (GAM)
ЯВЛЯЕТСЯ
Метод индексированного последовательного доступа (ISAM)
МКВ
Очередь сообщений QTAM в приложении
ПО
Разделенная организация
ПС
Физический последовательный

среди прочего. Наборы данных на ленте могут быть только DSORG=PS. Выбор организации зависит от того, как будет осуществляться доступ к данным, и в частности, как они будут обновляться.

Программисты используют различные методы доступа (такие как QSAM или VSAM ) в программах для чтения и записи наборов данных. Метод доступа зависит от организации данного набора данных.

Формат записи (RECFM)

Независимо от организации, физическая структура каждой записи по сути одинакова и единообразна во всем наборе данных. Это указано в RECFMпараметре DCB. RECFM=Fозначает, что записи имеют фиксированную длину, указанную с помощью LRECLпараметра. RECFM=Vуказывает запись переменной длины. Записи V при сохранении на носителе имеют префикс Record Descriptor Word (RDW), содержащий целочисленную длину записи в байтах и ​​битах флагов. С помощью RECFM=FBи RECFM=VBнесколько логических записей группируются вместе в один физический блок на ленте или DASD. FB и VB — это fixed-blocked, и variable-blocked, соответственно. RECFM=U (не определено) также имеет переменную длину, но длина записи определяется длиной блока, а не полем управления.

Параметр BLKSIZEопределяет максимальную длину блока. RECFM=FBS[6] также может быть указан, что означает fixed-blocked standard, что все блоки, кроме последнего, должны быть полной BLKSIZEдлины. RECFM=VBS, или variable-blocked spanned, означает, что логическая запись может быть распространена на два или более блоков, с флагами в RDW, указывающими, продолжается ли сегмент записи в следующем блоке и/или был продолжен из предыдущего.

Этот механизм устраняет необходимость использования любого значения байта-«разделителя» для разделения записей. Таким образом, данные могут быть любого типа, включая двоичные целые числа, числа с плавающей точкой или символы, без введения ложного условия конца записи. Набор данных является абстракцией коллекции записей, в отличие от файлов как неструктурированных потоков байтов.

Разделенный набор данных

Разделенный набор данных ( PDS ) [7] — это набор данных, содержащий несколько элементов , каждый из которых содержит отдельный поднабор данных, аналогичный каталогу в других типах файловых систем . Этот тип набора данных часто используется для хранения загрузочных модулей (старых форматов связанных исполняемых программ), исходных библиотек программ (особенно определений макросов ассемблера), определений экрана ISPF и языка управления заданиями . PDS можно сравнить с Zip- файлом или структурированным хранилищем COM .

Разделенный набор данных может быть размещен только на одном томе и иметь максимальный размер 65 535 дорожек.

Помимо членов, PDS также содержит каталог. К каждому члену можно получить косвенный доступ через структуру каталога. После того, как член найден, данные, хранящиеся в этом члене, обрабатываются так же, как и набор данных PS (последовательный).

Всякий раз, когда элемент удаляется, занимаемое им пространство становится непригодным для хранения других данных. Аналогично, если элемент перезаписывается, он сохраняется в новом месте в конце PDS и оставляет неиспользуемое «мертвое» пространство в середине. Единственный способ восстановить «мертвое» пространство — выполнить сжатие файлов. [8] Сжатие, которое выполняется с помощью утилиты IEBCOPY , [9] перемещает все элементы в начало пространства данных и оставляет свободное используемое пространство в конце. (Обратите внимание, что на современном языке этот вид операции можно было бы назвать дефрагментацией или сборкой мусора ; сжатие данных в настоящее время относится к другой, более сложной концепции.) Файлы PDS могут находиться только на DASD , а не на магнитной ленте , чтобы использовать структуру каталогов для доступа к отдельным элементам. Разделенные наборы данных чаще всего используются для хранения нескольких языковых файлов управления заданиями , управляющих операторов утилит и исполняемых модулей.

Улучшением этой схемы является Partitioned Data Set Extended (PDSE или PDS/E, иногда просто библиотеки ), представленный с DFSMSdfp для систем MVS/XA и MVS/ESA . Библиотека PDS/E может хранить программные объекты или другие типы элементов, но не оба сразу. BPAM не может обрабатывать PDS/E, содержащий программные объекты.

Структура PDS/E похожа на PDS и используется для хранения тех же типов данных. Однако файлы PDS/E имеют лучшую структуру каталогов, которая не требует предварительного выделения блоков каталогов при определении PDS/E (и, следовательно, не исчерпывает блоки каталогов, если их было указано недостаточно). Кроме того, PDS/E автоматически сохраняет элементы таким образом, что не требуется операция сжатия для освобождения «мертвого» пространства. [8] Файлы PDS/E могут находиться только на DASD, чтобы использовать структуру каталогов для доступа к отдельным элементам.

Группа данных поколения

Группа данных поколения [10] ( GDG ) [11] представляет собой группу наборов данных, не относящихся к VSAM [12], которые представляют собой последовательные поколения исторически связанных данных [13], хранящихся на мэйнфрейме IBM (работающих под управлением ОС или DOS/VSE ). [14]

GDG обычно каталогизируется. [13]

Отдельный элемент коллекции GDG называется « Набором данных поколения ». [13] [15] Последний может быть идентифицирован абсолютным числом, ACCTG.OURGDG(1234)или относительным числом: (-1) для предыдущего поколения, (0) для текущего и (+1) для следующего поколения. [16]

GDG JCL и особенности

Группы данных генерации определяются с помощью оператора BLDG [17] утилиты IEHPROGM или оператора DEFINE GENERATIONGROUP [18] более новой утилиты IDCAMS [19] , которая позволяет устанавливать различные параметры.

IDCAMS также может удалить (и при желании отменить каталогизацию) GDG. [20]

Ссылки

  1. ^ "Что такое каталог?". IBM . Каталогизация наборов данных на магнитной ленте ...
  2. ^ "Центр знаний IBM - Дом документации по продуктам IBM". publib.boulder.ibm.com .
  3. ^ "Что такое набор данных?". IBM . набор данных .. файл, содержащий одну или несколько записей.
  4. ^ "Форматы записей набора данных". IBM . Записи имеют либо фиксированную, либо переменную длину в заданном наборе данных.
  5. ^ "Раздел IV: Оператор DD — Параметр DCB" (PDF) . Операционная система IBM System/3S0: Справочник по языку управления заданиями — ОС, выпуск 21.7 (PDF) . Справочная библиотека систем IBM. IBM. стр. 138–139. GC28-6704-4.
  6. ^ "Пример: Формат записи VBS". IBM . Переменная длина, блокированный, охватываемый (VBS)
  7. ^ «Структура PDS», z/OS DFSMS Using Data Sets Version 2 Release 3 (PDF) , 2 октября 2018 г., SC23-6855-30
  8. ^ ab Stephens, David (октябрь 2008 г.). Что такое мэйнфрейм? Lulu.com. стр. 52. ISBN 978-1-4092-2535-5. Получено 11 мая 2018 г. .
  9. ^ "Сжатие секционированного набора данных", z/OS DFSMSdfp Utilities Version 2 Release 3 (PDF) , IBM Corporation, 17 июля 2017 г., SC23-6864-30, Секционированный набор данных будет содержать неиспользуемые области (иногда называемые газом), где когда-то находился удаленный элемент или старая версия обновленного элемента. Это неиспользуемое пространство восстанавливается только при копировании секционированного набора данных в новый набор данных или после успешного завершения операции сжатия на месте. Для PDSE оно не имеет значения и игнорируется при запросе.
  10. ^ «Группы данных поколений (GDG), введение с примерами». создание и обработка группы данных поколений или GDG на ...
  11. ^ "JCL TUTORIAL REFERENCE - Группы данных поколения". Группы данных поколения (GDG)
  12. ^ "Что такое группа данных поколения?". IBM.com . ... не-VSAM ...
  13. ^ abc "Generation data sets". IBM . последовательные, исторически связанные,
  14. ^ «Команды VSE/VSAM» (PDF) .
  15. ^ «Набор данных поколения — это один из ...
  16. ^ «Что такое GDG?».
  17. ^ "Заявление BLDG (индекс поколения сборки)" (PDF) . Утилиты ОС (PDF) . Справочная библиотека систем IBM (шестнадцатое изд.). IBM . Апрель 1973 г. стр. 269. GC28-6586-15 . Получено 19 мая 2022 г. .
  18. ^ «Определение группы данных поколения» (PDF) . OS/VS Access Method Services (PDF) (Второе изд.). IBM . Май 1974 г. стр. 107–110. GC26-3836-1 . Получено 19 мая 2022 г. . {{cite book}}: |work=проигнорировано ( помощь )
  19. ^ "IBM Как создавать и использовать группы данных поколения (GDG)". IBM . 2 марта 2012 г. Создайте GDG... IDCAMS сделает это
  20. ^ «IDCAMS – Создание и удаление базы GDG с использованием JCL».