Índice de Volume - Volume Table of Contents

Na arquitetura de armazenamento do IBM System / 360 , o Volume Table of Contents ( VTOC ), é uma estrutura de dados que fornece uma maneira de localizar os conjuntos de dados que residem em um determinado volume DASD . Com exceção do layout de disco compatível com IBM Z® no Linux on Z, é o equivalente funcional da Tabela de alocação de arquivos MS / PC DOS (FAT), da Tabela de arquivos mestre do Windows NT (MFT) e da estrutura equivalente em, por exemplo, um sistema de arquivos Linux . O VTOC não é usado para conter qualquer IPLTEXT e não tem nenhuma função no processo de IPL, portanto não possui nenhum dado usado ou funcionalmente equivalente ao MBR. Ele lista os nomes de cada conjunto de dados no volume, bem como tamanho , localização e permissões . Além disso, ele contém uma entrada para cada área de espaço livre contíguo no volume. O terceiro registro na primeira trilha do primeiro cilindro de qualquer volume DASD (por exemplo, disco) é conhecido como rótulo do volume e deve conter um ponteiro para a localização do VTOC. A localização do VTOC pode ser especificada quando o volume é inicializado. Por motivos de desempenho, ele pode estar localizado o mais próximo possível do centro do volume, uma vez que é referenciado com frequência. Um VTOC é adicionado a um volume DASD quando ele é inicializado usando o programa Device Support Facilities, ICKDSF , nos sistemas atuais.

Quando no OS / 360 e seus sucessores alocam um conjunto de dados, ele geralmente pesquisa o catálogo para determinar os volumes nos quais ele reside. Quando um programa abre um conjunto de dados DASD ( Direct Access Storage Device ), a rotina OPEN pesquisa o índice VTOC (VTOCIX), se houver, ou pesquisa diretamente o VTOC, se não houver VTOCIX.

Tipos de bloco de controle de conjunto de dados

O VTOC consiste em uma sequência de registros de 140 bytes conhecidos como Data Set Control Blocks ( DSCBs ). Existem dez tipos de DSCB.

Tipos DSCB em um VTOC
Tipo de formato DSCB Objetivo Notas
0 Entrada vazia
1 Conjunto de dados primário Descreve as três primeiras extensões de um conjunto de dados (cilindros iniciais e finais e trilhas)
2 Conjunto de dados ISAM Descreve conjuntos de dados ISAM
3 Extensão do conjunto de dados Descreve as extensões do conjunto de dados após o terceiro
4 VTOC Descreve atributos de volume
5 Espaço livre 26 extensões em volumes não indexados
6 Alocação de cilindro compartilhado No OS / 360 , o Formato 6 DSCB é usado para Alocação de Cilindro Compartilhado , o que permite que vários conjuntos de dados sejam intercalados em um intervalo de cilindros (de modo que, por exemplo, a primeira metade de cada cilindro foi alocada para o conjunto de dados A, e o segundo metade para o conjunto de dados B). Isso foi planejado como uma otimização de desempenho para reduzir o movimento da cabeça quando se esperava que dois ou mais conjuntos de dados fossem usados ​​simultaneamente. Nas versões atuais do z / OS, o formato de alocação de cilindro compartilhado 6 DSCB não é mais suportado.
7 Espaço livre Extensão do Formato 4 DSCB
8 Conjunto de dados primário Versão EAV do Formato 1 DSCB
9 Extensão do conjunto de dados Extensão EAV de Formato 3 DSCB

O VTOC deve residir nas primeiras trilhas de 64K no volume, e O primeiro DSCB no VTOC é sempre um formato 4 DSCB que descreve o próprio VTOC e os atributos do volume DASD no qual este VTOC reside. O segundo DSCB é sempre um formato 5 DSCB que descreve o espaço livre dentro do VTOC. Normalmente, o restante do VTOC conterá DSCBs de formato 0, que são entradas vazias, e DSCBs de formato 1 ou 3, que descrevem as extensões dos conjuntos de dados, fornecendo seu endereço inicial e endereço final de até 16 dessas extensões no disco. A parte inicial de um conjunto de dados é descrita por um formato 1 DSCB. Se necessário, DSCBs de formato 3 são usados ​​para descrever outras extensões do conjunto de dados. Quando um conjunto de dados é excluído, seu formato 1 DSCB é sobrescrito para se tornar um formato 0 DSCB, e o formato 3 DSCB, se houver, é excluído da mesma forma.

Originalmente, uma busca VTOC era uma varredura sequencial dos DSCBs, parando quando o formato correto 1 DSCB fosse encontrado ou o fim do VTOC fosse alcançado. Conforme os volumes DASD se tornaram maiores, a pesquisa VTOC tornou-se um gargalo e, portanto, um índice VTOC foi adicionado.

Formato 1 DSCB

Esta entrada VTOC descreve um conjunto de dados e define suas três primeiras extensões. Este é o formato do DSCB do OS / 360 Release 21.7 em 1973, antes das mudanças para o Y2K .

Posição Comprimento Descrição
0 44 Nome do conjunto de dados, ajustado à esquerda e preenchido com espaço,
esta é a chave de registro DSCB.
44 1 Identificador de formato, '1' para Formato-1 DSCB (caractere)
45 6 Número de série do volume do primeiro volume DASD para este conjunto de dados (alfanumérico)
51 2 Número de sequência de volume deste volume para conjuntos de dados de vários volumes (binário)
53 3 Data de criação do conjunto de dados (binário) um byte para o ano do século e dois bytes para o dia do ano
56 3 Data de expiração do conjunto de dados (mesmo formato da data de criação)
99365 indica que este conjunto de dados nunca irá expirar.
59 1 Número de extensões para este conjunto de dados (binário)
60 1 Se este conjunto de dados for um conjunto de dados particionado, este é o número de bytes usados ​​no último bloco de diretório. (binário)
61 1 Não utilizado, listado como reservado pela IBM.
62 13 Código que identifica o sistema operacional que criou este conjunto de dados. (personagem)
75 7 Não utilizado, listado como reservado pela IBM.
82 2 Código que indica a organização do conjunto de dados (sequencial, indexado, etc.) (campo de bits)
84 1 Código que indica o formato de registro deste conjunto de dados (fixo, variável, etc.) (campo de bits)
85 1 Código de opção , outras opções especificadas quando o conjunto de dados foi criado (campo de bits)
86 2 Tamanho do bloco (tamanho fixo ou tamanho máximo para arquivos de registros de comprimento variável) (binário)
88 2 Comprimento do registro (tamanho fixo ou comprimento máximo para registros de comprimento variável) (binário)
90 1 Comprimento da chave se este arquivo tiver chaves de registro gravadas. (binário)
91 2 Posição da chave (se houver) no registro em relação a zero. (binário)
93 1 Bits indicadores, por exemplo, indicando que o conjunto de dados está protegido por senha. (campo de bits)
94 4 Parâmetros de alocação do conjunto de dados, indicando, por exemplo, que o espaço para este conjunto de dados deve ser alocado em blocos, cilindros, etc. (campo de bits)
95 3 Quantidade de alocação secundária: Número de blocos, cilindros, etc. a serem alocados se espaço adicional for necessário. (binário)

Por exemplo, se o conjunto de dados for criado com a especificação SPACE=(CYL,(4,2)) do cartão DD, o conjunto de dados é inicialmente alocado para quatro cilindros e dois cilindros adicionais, não necessariamente contíguos, serão alocados cada vez que mais espaço for necessário, até quinze extensões adicionais.

98 3 Endereço DASD do último bloco gravado no conjunto de dados.
101 2 Número de bytes restantes na última trilha após o último bloco indicado acima. (binário)
103 2 Não utilizado, listado como reservado pela IBM.
105 10 Descrição da primeira ou única extensão.
Tipo de extensão (um byte, campo de bits),
número de sequência de extensão (um byte, binário),
cilindro inicial de extensão e trilha (quatro bytes, binário),

extensão de fim de cilindro e trilha (quatro bytes, binário).

115 10 Descrição da possível segunda extensão, mesmo formato acima.
125 10 Descrição da possível terceira extensão, mesmo formato acima.
135 5 Ponteiro para Formato-2 (índice) DSCB em VTOC no formato cilindro / cabeça / registro se este for um conjunto de dados indexado.

Ponteiro para formato-3 (extensão) DSCB se este conjunto de dados tiver mais de três extensões.

Veja também

Notas

Referências

links externos