В архитектуре хранения IBM System / 360 [примечание 1] таблица содержания тома ( VTOC ) - это структура данных, которая обеспечивает способ поиска наборов данных , находящихся на определенном томе DASD . За исключением IBM Z®-совместимого макета диска [1] [примечание 2] в Linux на Z, [2] он является функциональным эквивалентом таблицы размещения файлов DOS MS / PC (FAT), главной таблицы файлов Windows NT. (MFT) и эквивалентная структура, например, в файловой системе Linux . [заметка 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 | VTOC | Описывает атрибуты тома |
5 | Свободное место | 26 экстентов по неиндексным объемам |
6 [3] : 191–192 | Распределение общего цилиндра | В OS / 360 формат 6 DSCB используется для распределения общего цилиндра , что позволяет чередовать несколько наборов данных по диапазону цилиндров (например, первая половина каждого цилиндра была выделена для набора данных A, а вторая половина для набора данных B). Это было задумано как оптимизация производительности для уменьшения движения головы, когда ожидалось одновременное использование двух или более наборов данных. В текущих выпусках z / OS формат распределения общих цилиндров 6 DSCB больше не поддерживается. [4] |
7 | Свободное место | Расширение формата 4 DSCB |
8 | Набор данных первичный | EAV [примечание 7] версия формата 1 DSCB |
9 | Расширение набора данных | EAV расширение формата 3 DSCB |
VTOC должен находиться в пределах первых 64K дорожек на томе, и первый DSCB в VTOC всегда является DSCB формата 4, который описывает сам VTOC [примечание 8] и атрибуты тома DASD, на котором находится этот VTOC. Второй DSCB - это всегда DSCB формата 5, который описывает свободное пространство в VTOC. Обычно остальная часть VTOC будет содержать DSCB формата 0, которые являются пустыми записями, и DSCB формата 1 или формата 3, которые описывают экстенты наборов данных, давая их начальный адрес и конечный адрес [примечание 9] до 16 таких экстентына диске. Начальная часть набора данных описывается форматом 1 DSCB. При необходимости, DSCB формата 3 используются для описания дополнительных экстентов набора данных. Когда набор данных удаляется, его формат 1 DSCB перезаписывается и становится DSCB формата 0, а формат 3 DSCB, если он существует, удаляется аналогичным образом.
Первоначально поиск VTOC представлял собой последовательное сканирование DSCB с остановкой, когда был найден правильный формат 1 DSCB или был достигнут конец VTOC. По мере увеличения объемов DASD поиск VTOC стал узким местом, и поэтому был добавлен индекс VTOC.
Формат 1 DSCB [ править ]
Эта запись VTOC описывает набор данных и определяет его первые три экстента. Это формат DSCB из OS / 360 версии 21.7 1973 года, до изменений для 2000 года . [5]
Позиция | Длина | Описание |
---|---|---|
0 | 44 год | Имя набора данных, с корректировкой влево и заполненным пробелом, это ключ записи DSCB. |
44 год | 1 | Идентификатор формата, '1' для формата-1 DSCB (символ) |
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 | Указатель на Format-2 (index) DSCB в VTOC в формате цилиндр / головка / запись, если это индексированный набор данных. Указатель на Format-3 (расширение) DSCB, если этот набор данных имеет более трех экстентов. |
См. Также [ править ]
- Блок управления данными (DCB)
- Подсчет ключевых данных (CKD)
- Основная загрузочная запись (MBR на ПК)
Заметки [ править ]
- ^ Включая преемников от S / 370 до z / Architecture
- ^ VTOC для мини-диска, совместимого с IBM Z®, имеет VTOC с тремя наборами данных, каждый из которых содержит файловую систему Linux.
- ^ В то время как VTOC нужно только напрямую связывать имена с распределением памяти, файловая система Linux имеет косвенную связь через 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 .
- ^ a b «Блоки управления набором данных» (PDF) . Операционная система IBM System / 360: блоки управления системой (PDF) . Системная справочная библиотека (десятое изд.). Корпорация IBM. Апрель 1973 г. С. 165–173. GC28-6628-9.
- ^ a b «Типы блоков управления набором данных (DSCB)» (PDF) . z / OS версии 2, выпуск 4, расширенная служба DFSMSdfp (PDF) . Корпорация IBM. 2020-12-13. С. 2–17. SC23-6861-40.
- ^ Корпорация IBM (апрель 1973 г.). Операционная система IBM System / 360: блоки управления системой (PDF) . С. 170–173 . Проверено 1 августа 2016 .
Внешние ссылки [ править ]
- z / OS DFSMS: Использование наборов данных
- z / OS: Расширенные службы DFSMSdfp
- z / OS System IPL: последовательность и ключевые элементы управления . IBM .