Содержание тома
В IBM System/360 [примечание 1] В архитектуре хранилища таблица содержания тома ( VTOC ) — это структура данных, которая позволяет найти наборы данных , находящиеся на определенном DASD томе . За исключением структуры диска, совместимой с IBM Z. [1] [примечание 2] в Linux на Z, [2] это функциональный эквивалент MS/PC DOS таблицы размещения файлов (FAT), NTFS главной таблицы файлов (MFT) и таблицы индексных дескрипторов в файловой системе для Unix-подобной системы. [примечание 3] VTOC не используется для содержания IPLTEXT. [примечание 4] и не играет никакой роли в процессе IPL, поэтому не имеет никаких данных, используемых или функционально эквивалентных MBR. В нем перечислены имена каждого набора данных на томе, а также размер , расположение и разрешения . Кроме того, он содержит запись для каждой области непрерывного свободного пространства тома. Третья запись на первой дорожке первого цилиндра любого тома DASD (например, диска) называется меткой тома и должна содержать указатель на расположение VTOC. Местоположение VTOC можно указать при инициализации тома. Из соображений производительности его можно расположить как можно ближе к центру тома, поскольку к нему часто обращаются. VTOC добавляется к тому DASD при его инициализации с помощью средств поддержки устройств. [примечание 5] программа ICKDSF в существующих системах.
Когда в OS/360 и последующих версиях выделяется набор данных, он обычно выполняет поиск в каталоге, чтобы определить тома, на которых он находится. [примечание 6] Когда программа открывает набор данных устройства хранения данных с прямым доступом (DASD), процедура OPEN выполняет поиск по индексу VTOC (VTOCIX), если он существует, или напрямую ищет VTOC, если VTOCIX отсутствует.
Типы блоков управления набором данных
[ редактировать ]VTOC состоит из последовательности 140-байтовых записей, известных как блоки управления набором данных. [3] [4] ( DSCB ). Существует десять типов DSCB.
Тип формата DSCB | Цель | Примечания |
---|---|---|
0 | Пустая запись | |
1 | Основной набор данных | Описывает первые три экстента набора данных (начальный и конечный цилиндры и дорожки). |
2 | Набор данных ISAM | Описывает наборы данных ISAM. |
3 | Расширение набора данных | Описывает экстенты набора данных после третьего |
4 | ВТОК | Описывает атрибуты тома |
5 | Свободное место | 26 экстентов на неиндексных томах |
6 [3] : 191-192 | Распределение общего цилиндра | В OS/360 формат 6 DSCB используется для распределения общих цилиндров , что позволяет чередовать несколько наборов данных по диапазону цилиндров (так, что, например, первая половина каждого цилиндра была выделена для набора данных A, а вторая половина для набора данных B). Это было задумано как оптимизация производительности, чтобы уменьшить движение головы, когда ожидалось, что два или более набора данных будут использоваться одновременно. В текущих выпусках z/OS формат распределения общих цилиндров 6 DSCB больше не поддерживается. [4] |
7 | Свободное место | Расширение формата 4 DSCB |
8 | Основной набор данных | ЭАВ [примечание 7] версия формата 1 DSCB |
9 | Расширение набора данных | Расширение EAV формата 3 DSCB |
VTOC должен находиться в пределах первых 64 КБ дорожек тома, а первый DSCB в VTOC всегда представляет собой DSCB формата 4, который описывает сам VTOC. [примечание 8] и атрибуты тома DASD, на котором находится этот VTOC. Второй DSCB всегда представляет собой DSCB формата 5, который описывает свободное пространство внутри VTOC. Обычно остальная часть VTOC будет содержать DSCB формата 0, которые являются пустыми записями, и DSCB формата 1 или 3, которые описывают экстенты наборов данных, указывая их начальный адрес и конечный адрес. [примечание 9] до 16 таких экстентов на диске. Начальная часть набора данных описывается форматом 1 DSCB. При необходимости для описания дальнейших экстентов набора данных используются DSCB формата 3. Когда набор данных удаляется, его DSCB формата 1 перезаписывается и становится DSCB формата 0, а DSCB формата 3, если он существует, удаляется аналогичным образом.
Первоначально поиск VTOC представлял собой последовательное сканирование DSCB, которое останавливалось, когда был найден правильный формат 1 DSCB или был достигнут конец VTOC. Поскольку объемы DASD стали больше, поиск VTOC стал узким местом, поэтому был добавлен индекс VTOC.
Формат 1 DSCB
[ редактировать ]Эта запись VTOC описывает набор данных и определяет его первые три экстента. Это формат DSCB из OS/360 версии 21.7 1973 года, до изменений для Y2K . [5]
Позиция | Длина | Описание |
---|---|---|
0 | 44 | Имя набора данных, скорректированное по левому краю и заполненное пробелами. это ключ записи DSCB. |
44 | 1 | Идентификатор формата, '1' для DSCB формата 1 (символ) |
45 | 6 | Серийный номер тома первого тома DASD для этого набора данных (буквенно-цифровой). |
51 | 2 | Порядковый номер тома этого тома для многотомных наборов данных (двоичный) |
53 | 3 | Дата создания набора данных (двоичная): один байт для года столетия и два байта для дня года. |
56 | 3 | Дата истечения срока действия набора данных (тот же формат, что и дата создания) 99365 указывает, что срок действия этого набора данных никогда не истечет. |
59 | 1 | Количество экстентов для этого набора данных (двоичное) |
60 | 1 | Если этот набор данных является секционированным набором данных, это количество байтов, использованных в последнем блоке каталога. (двоичный) |
61 | 1 | Не используется, указано как зарезервированное IBM. |
62 | 13 | Код, идентифицирующий операционную систему, создавшую этот набор данных. (характер) |
75 | 7 | Не используется, указано как зарезервированное IBM. |
82 | 2 | Код, указывающий организацию набора данных (последовательная, индексированная и т. д.) (битовое поле) |
84 | 1 | Код, указывающий формат записи этого набора данных (фиксированный, переменный и т. д.) (битовое поле) |
85 | 1 | Код опции , другие параметры, указанные при создании набора данных (битовое поле) |
86 | 2 | Размер блока (фиксированный размер или максимальный размер для файлов с записями переменной длины) (двоичный) |
88 | 2 | Длина записи (фиксированный размер или максимальная длина для записей переменной длины) (двоичная) |
90 | 1 | Длина ключа, если в этом файле записаны ключи записи. (двоичный) |
91 | 2 | Положение ключа (если есть) в записи относительно нуля. (двоичный) |
93 | 1 | Биты индикатора, например, указывающие, что набор данных защищен паролем. (битовое поле) |
94 | 4 | Параметры выделения набора данных, указывающие, например, что пространство для этого набора данных должно быть выделено в блоках, цилиндрах и т. д. (битовое поле) |
95 | 3 | Вторичное количество распределения: количество блоков, цилиндров и т. д., которое необходимо выделить, если требуется дополнительное пространство. (двоичный) Например, если набор данных создан со спецификацией карты DD |
98 | 3 | DASD-адрес последнего блока, записанного в наборе данных. |
101 | 2 | Количество байтов, оставшихся на последней дорожке после последнего блока, указанного выше. (двоичный) |
103 | 2 | Не используется, указано как зарезервированное IBM. |
105 | 10 | Описание первой или единственной степени. Тип экстента (один байт, битовое поле), порядковый номер экстента (один байт, двоичный), размер начального цилиндра и дорожки (четыре байта, двоичный), размер конечного цилиндра и дорожки (четыре байта, двоичный). |
115 | 10 | Описание возможного второго экстента в том же формате, что и выше. |
125 | 10 | Описание возможного третьего экстента в том же формате, что и выше. |
135 | 5 | Указатель на формат 2 (индекс) DSCB в VTOC в формате цилиндр/головка/запись, если это индексированный набор данных. Указатель на DSCB формата 3 (расширение), если этот набор данных имеет более трех экстентов. |
См. также
[ редактировать ]- Блок управления данными (DCB)
- Подсчет ключевых данных (CKD)
- Основная загрузочная запись (MBR на ПК)
Примечания
[ редактировать ]- ^ Включая преемников от S/370 до z/Architecture.
- ^ VTOC для мини-диска, совместимого с IBM Z, имеет VTOC, содержащий до трех наборов данных, каждый из которых содержит файловую систему Linux.
- ^ Хотя VTOC необходимо напрямую связывать имена только с выделением памяти, файловая система Unix имеет косвенную ассоциацию через inodes .
- ^ Однако текст IPL на дорожке 0 цилиндра 0 считывает и использует VTOC.
- ^ DSF заменяет исходные IBCDASD и IEHDASDR, которые IBM больше не распространяет и которые не могут работать на текущем оборудовании.
- ^ Возможно, хотя и необычно, задание обойти каталог и указать том с помощью динамического распределения или параметров JCL.
- ^ Расширенный адресный том , том с более чем 65 520 цилиндрами.
- ^ У VTOC есть имя набора данных, поскольку VTOC действительно является набором данных; имя набора данных VTOC состоит из (44) символов X'04', которое в более поздних версиях ОС стало защищенным именем; программа не может писать в него без авторизации.
- ^ Каждый экстент описывается начальным CCHH и конечным CCHH относительно начала диска, то есть CCHH=x'00000000'.
Ссылки
[ редактировать ]- ^ «Схема диска, совместимая с IBM Z» . Центр знаний IBM .
- ^ «Linux на Z и LinuxONE» . Центр знаний IBM .
- ^ Перейти обратно: а б «Блоки управления набором данных» (PDF) . Операционная система IBM System/360: блоки управления системой (PDF) . Справочная библиотека систем IBM (Десятое изд.). Корпорация IBM. Апрель 1973 г., стр. 165–173. GC28-6628-9.
- ^ Перейти обратно: а б «Типы блоков управления набором данных (DSCB)» (PDF) . z/OS Версия 2 Выпуск 4 DFSMSdfp Advanced Service (PDF) . Корпорация IBM. 2020-12-13. стр. 2–17. SC23-6861-40.
- ^ Корпорация IBM (апрель 1973 г.). Операционная система IBM System/360: блоки управления системой (PDF) . стр. 170–173 . Проверено 1 августа 2016 г.
Внешние ссылки
[ редактировать ]- z/OS 2.5 — DFSMS с использованием наборов данных (PDF) . ИБМ . 2023-03-24. SC23-6855-50 . Проверено 6 апреля 2023 г.
- z/OS 2.5 — Расширенные услуги DFSMSdfp (PDF) . ИБМ . 2023-03-24. SC23-6861-50 . Проверено 6 апреля 2023 г.
- IPL системы z/OS: последовательность и ключевые элементы управления . ИБМ .