Засоби управління даними в z / OS (DFSMS)
Управління даними в z / OS полягає в організації ідентифікації, зберігання, каталогізації, пошуку даних різного призначення (в тому числі і програм), які застосовуються для системних і призначених для користувача потреб. Основною одиницею управління є набір даних (data set), який визначається як іменована сукупність пов'язаних елементів даних, що розміщуються у зовнішній пам'яті або інших пристроях.
Функції управління даними в z / OS покладені на підсистему управління даними DFSMS (Data Facility Storage Management System), яка включає набір компонентів, представлених у вигляді п'яти модулів [5.10].
Останні чотири модулі є опціональними.
В z / OS реалізовані і паралельно існують дві різні технології управління даними, умовно звані MVS і SMS. Технологія MVS (іноді кажуть non-SMS) базується на застосуванні класичних можливостей і методів управління даними, основи яких були закладені ще в OS / 360. Головною особливістю даної технології є безпосередній контроль користувача над параметрами розподілу наборів даних у зовнішній пам'яті при їх створенні. Технологія SMS (від System Managed Storage) являє собою програмну надбудову, що забезпечує комплексне автоматизоване управління наборами даних, включаючи їх створення, розміщення і адміністрування на основі спеціально визначених класів даних. Кожному такого класу приписується фіксований набір атрибутів, включаючи пристрій розміщення (тому), обсяг виділеної пам'яті, характеристики набору даних (тип, структура), параметри обслуговування і захисту і т.п. Використання технології SMS вимагає особливої системної настройки і спеціальним чином сконфигурированних томів зовнішньої пам'яті.
В даному розділі спочатку будуть представлені базові поняття та засоби, реалізовані в технології MVS. а потім описані особливості технології SMS.
Характеристика наборів даних
Операційна система z / OS підтримує роботу з наборами даних, які відрізняються за типом логічної організації: послідовними, індексного-послідовними, прямого доступу, бібліотечними (PDS і PDSE), наборами даних, що використовують метод доступу на основі віртуальної пам'яті (VSAM), а також наборами даних файлової системи UNIX (HFS. zFS) [5.11]. Для підтримки наборів даних різних типів в складі DFSMSdfp представлені компоненти, що отримали назву методи доступу і описані в п. 5.1.3. Кожен метод доступу орієнтований на роботу з наборами даних певного типу і забезпечує підтримку необхідних операцій для організації введення-виведення.
Операційна система z / OS забезпечує обробку наборів даних на рівні логічних записів і блоків. Це означає, що набір даних представляється у вигляді сукупності логічних записів, а додатки отримують доступ до логічних записів і обробляють їх як єдине ціле. У той же час обмін даними між периферійними пристроями та основною пам'яттю (введення-виведення) здійснюється блоками (або фізичними записами). У блоці об'єднується кілька логічних записів. Таким чином, для кожного набору даних необхідно встановити узгоджені розміри логічних записів і блоків.
В z / OS підтримуються три формату логічних записів: записи фіксованої довжини, записи змінної довжини, записи невизначеної довжини. Записи фіксованої довжини мають постійний розмір і в мові управління завданнями ідентифікуються символами F або FB в залежності від обраного способу блокування записів:
- F - в кожному блоці міститься тільки одна логічна запис;
- FB - кожному блоці може міститися більше однієї логічної запису.
Записи змінної довжини можуть мати різний розмір всередині одного набору даних, тому крім даних вони включають в себе додаткове поле (дескриптор), де вказується довжина поточного запису. Використовуваний для позначення записів змінної довжини ідентифікатор V означає, що в кожному блоці міститься тільки одна логічна запис. включаючи дескриптор запису. Ідентифікатор VB застосовується в тих випадках, якщо в кожному блоці може міститися більше однієї логічної запису, при цьому для кожного блоку додатково формується дескриптор. що містить довжину блоку.
Записи невизначеної довжини (ідентифікатор U) характеризуються тільки розміром блоку і не містять ніякої інформації про розподіл на логічні записи.
Кожен набір даних характеризується унікальним ім'ям. Імена бувають прості і складові. Просте ім'я може містити не більше 8 символів (латинські літери A-Z, цифри 0-9, спецсимволи #, @, $, -), причому першим символом імені не може бути цифра. Наприклад, РАRTS01. B1934-1. $$$$ A.
Складене ім'я набору даних складається з декількох простих, розділених символом "." ("крапка"). Наприклад, D.USER1. JCL. А.VERY.LONG. DATASET .NАМЕ. $ PARTS.DАTА2.
Максимальна довжина складеного імені - 44 символу, включаючи розділові точки.
Прості імена в складеному імені прийнято називати кваліфікаторів.
Далі будуть розглянуті основні типи організації наборів даних, за винятком індексного-послідовних і наборів даних прямого доступу (не рекомендовані IBM до використання як застарілі) і HFS (будуть розглянуті в п. 5.1.6).
Послідовні набори даних
Послідовні набори даних (Physical Sequential. PS) розглядаються як сукупність логічних записів, які обробляються в тому порядку, в якому вони були поміщені в набір даних (тобто послідовно). Коригування послідовного набору даних можлива або шляхом повної перезапису всієї інформації, або шляхом додавання нових логічних записів в кінець набору даних. Послідовні набори даних використовуються найчастіше для зберігання щодо великих обсягів інформації (звітів про виконані завдання, журналів сеансу і т.д.) на будь-яких типах пристроїв зовнішньої пам'яті. Причому на стрічкових накопичувачах можуть використовуватися виключно послідовні набори даних. Для обробки послідовних наборів даних в z / OS підтримується два методи доступу: "базисний" BSAM і "з чергами" QSAM.
Залежно від використовуваного типу логічних записів і блокування, підтримується кілька форматів послідовних наборів даних (рис. 5.14). На малюнку використані прийняті в мові управління завданнями z / OS ідентифікатори: RECFM - формат запису, LRECL - довжина запису, BLKSIZE - довжина блоку.
Мал. 5.14. Структура послідовного набору даних
При використанні записів фіксованої довжини (формати F і FB) LRECL визначає розмір кожного запису набору даних. Розмір блоку для формату FB вибирається кратним довжині записи.
При використанні записів змінної довжини (формати V і VB) кожен запис включає чотирьохбайтового дескриптор RDW, що містить довжину запису. Параметр LRECL визначає максимальну по довжині запис з урахуванням поля дескриптора. Блоки записів змінної довжини (формат VB) додатково включають чотирьохбайтове поле дескриптора BDW. призначеного для зберігання довжини блоку. Параметр BLKSIZE в цьому випадку визначає максимальну довжину блоку.
При використанні записів невизначеної довжини (формат U) система не підтримує ділення набору даних на логічні записи і виробляє його обробку блоками фіксованого розміру (BLKSIZE).