В архитектуре хранения 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 при его инициализации с помощью программы Device Support Facilities [примечание 5] , ICKDSF , в текущих системах.
Когда в OS/360 и последующих версиях выделяется набор данных, он обычно просматривает каталог, чтобы определить тома, на которых он находится. [примечание 6] Когда программа открывает набор данных устройства хранения данных с прямым доступом (DASD), процедура OPEN просматривает индекс VTOC (VTOCIX), если он есть, или напрямую просматривает VTOC, если VTOCIX отсутствует.
VTOC состоит из последовательности 140-байтовых записей, известных как блоки управления набором данных [3] [4] ( DSCB ). Существует десять типов DSCB.
VTOC должен находиться в пределах первых 64K дорожек на томе, и первый DSCB в VTOC всегда является DSCB формата 4, который описывает сам VTOC [примечание 8] и атрибуты тома DASD, на котором находится этот VTOC. Второй DSCB всегда является DSCB формата 5, который описывает свободное пространство внутри VTOC. Обычно остальная часть VTOC будет содержать DSCB формата 0, которые являются пустыми записями, и DSCB формата 1 или формата 3, которые описывают экстенты наборов данных, указывая их начальный адрес и конечный адрес [примечание 9] до 16 таких экстентов на диске. Начальная часть набора данных описывается DSCB формата 1. При необходимости DSCB формата 3 используются для описания дальнейших экстентов набора данных. При удалении набора данных его формат 1 DSCB перезаписывается и становится форматом 0 DSCB, а формат 3 DSCB, если таковой существует, удаляется аналогичным образом.
Первоначально поиск VTOC представлял собой последовательное сканирование DSCB, останавливаясь при нахождении правильного формата 1 DSCB или достижении конца VTOC. По мере увеличения объемов DASD поиск VTOC становился узким местом, поэтому был добавлен индекс VTOC.
Эта запись VTOC описывает набор данных и определяет его первые три экстента. Это формат DSCB из OS/360 Release 21.7 в 1973 году, до изменений для Y2K . [5]