En la arquitectura de almacenamiento IBM System/360 [nota 1] , la Tabla de contenido de volumen ( VTOC ) es una estructura de datos que proporciona una forma de localizar los conjuntos de datos que residen en un volumen DASD particular . Con la excepción del diseño de disco compatible con IBM Z [1] [nota 2] en Linux en Z, [2] es el equivalente funcional de la Tabla de asignación de archivos (FAT) de MS/PC DOS , la Tabla maestra de archivos (MFT) de NTFS y una tabla de inodos en un sistema de archivos para un sistema tipo Unix . [nota 3] La VTOC no se utiliza para contener ningún IPLTEXT [nota 4] y no tiene ningún papel en el proceso de IPL, por lo tanto, no tiene ningún dato utilizado por o funcionalmente equivalente al MBR. Enumera los nombres de cada conjunto de datos en el volumen, así como el tamaño , la ubicación y los permisos . Además, contiene una entrada para cada área de espacio libre contiguo en el volumen. El tercer registro en la primera pista del primer cilindro de cualquier volumen DASD (por ejemplo, disco) se conoce como etiqueta de volumen y debe contener un puntero a la ubicación del VTOC. La ubicación del VTOC se puede especificar cuando se inicializa el volumen. Por razones de rendimiento, se puede ubicar lo más cerca posible del centro del volumen, ya que se hace referencia a él con frecuencia. Se agrega un VTOC a un volumen DASD cuando se inicializa utilizando el programa Device Support Facilities [nota 5] , ICKDSF , en los sistemas actuales.
Cuando en OS/360 y sucesores se asigna un conjunto de datos, generalmente se busca en el catálogo para determinar los volúmenes en los que reside. [nota 6] Cuando un programa abre un conjunto de datos de dispositivo de almacenamiento de acceso directo (DASD), la rutina OPEN busca el índice VTOC (VTOCIX) si hay uno, o busca directamente el VTOC si no hay VTOCIX.
El VTOC consta de una secuencia de registros de 140 bytes conocidos como bloques de control de conjunto de datos [3] [4] ( DSCB ). Existen diez tipos de DSCB.
El VTOC debe residir dentro de las primeras 64K pistas en el volumen, y el primer DSCB en el VTOC es siempre un DSCB de formato 4 que describe el VTOC en sí [nota 8] y los atributos del volumen DASD en el que reside este VTOC. El segundo DSCB es siempre un DSCB de formato 5 que describe el espacio libre dentro del VTOC. Normalmente, el resto del VTOC contendrá DSCB de formato 0, que son entradas vacías, y DSCB de formato 1 o formato 3, que describen las extensiones de los conjuntos de datos, dando su dirección de inicio y dirección final [nota 9] de hasta 16 de dichas extensiones en el disco. La parte inicial de un conjunto de datos se describe mediante un DSCB de formato 1. Si es necesario, se utilizan DSCB de formato 3 para describir extensiones adicionales del conjunto de datos. Cuando se elimina un conjunto de datos, su DSCB de formato 1 se sobrescribe para convertirse en un DSCB de formato 0, y el DSCB de formato 3, si existe uno, se elimina de manera similar.
Originalmente, una búsqueda VTOC era un escaneo secuencial de los DSCB, que se detenía cuando se encontraba el DSCB con el formato 1 correcto o se llegaba al final del VTOC. A medida que los volúmenes DASD se hicieron más grandes, la búsqueda VTOC se convirtió en un cuello de botella y, por lo tanto, se agregó un índice VTOC.
Esta entrada VTOC describe un conjunto de datos y define sus tres primeras extensiones. Este es el formato del DSCB de OS/360 versión 21.7 en 1973, antes de los cambios por el Y2K . [5]