Método de acesso ao armazenamento virtual - Virtual Storage Access Method

O Virtual Storage Access Method ( VSAM ) é um método de acesso de armazenamento de arquivo IBM DASD , usado primeiro nos sistemas operacionais OS / VS1 , OS / VS2 Release 1 (SVS) e Release 2 (MVS), posteriormente usado em todo o Multiple Virtual Storage (MVS) ) e agora em z / OS . Originalmente um sistema de arquivos orientado a registros , o VSAM compreende quatro organizações de conjuntos de dados : sequenciado por chave (KSDS), registro relativo (RRDS), sequenciado por entrada (ESDS) e linear (LDS). As organizações KSDS, RRDS e ESDS contêm registros, enquanto a organização LDS (adicionada posteriormente ao VSAM) simplesmente contém uma sequência de páginas sem estrutura de registro intrínseca, para uso como um arquivo mapeado na memória .

Visão geral

Um IBM Redbook denominado "VSAM PRIMER" (especialmente quando usado com o manual "Opções de Método de Acesso de Armazenamento Virtual (VSAM) para Aplicativos Avançados") explica os conceitos necessários para usar o VSAM. A IBM usa o termo conjunto de dados na documentação oficial como um sinônimo de arquivo e dispositivo de armazenamento de acesso direto ( DASD ) porque suportava outros dispositivos semelhantes a unidades de disco .

Os registros VSAM podem ser de comprimento fixo ou variável. Eles são organizados em blocos de tamanho fixo chamados Intervalos de Controle (CIs), e então em divisões maiores chamadas Áreas de Controle (CAs). Os tamanhos do intervalo de controle são medidos em bytes - por exemplo, 4 kilobytes  - enquanto os tamanhos da área de controle são medidos em trilhas de disco ou cilindros. Os intervalos de controle são as unidades de transferência entre o disco e o computador, de modo que uma solicitação de leitura lerá um intervalo de controle completo. Áreas de controle são as unidades de alocação, portanto, quando um conjunto de dados VSAM é definido, um número inteiro de áreas de controle será alocado.

O programa utilitário Access Method Services IDCAMS é comumente usado para manipular ("excluir e definir") conjuntos de dados VSAM. Os programas personalizados podem acessar conjuntos de dados VSAM por meio de instruções Data Definition (DD) em Job Control Language (JCL), por meio de alocação dinâmica ou em regiões online, como no Customer Information Control System (CICS).

Tanto o IMS / DB quanto o DB2 são implementados no topo do VSAM e usam suas estruturas de dados subjacentes .

Arquivos VSAM

A organização física dos conjuntos de dados VSAM difere consideravelmente das organizações usadas por outros métodos de acesso, conforme a seguir.

Um arquivo VSAM é definido como um cluster de componentes VSAM, por exemplo, para KSDS um componente DATA e um componente INDEX.

Intervalos de controle e áreas de controle

Os componentes VSAM consistem em blocos físicos de comprimento fixo agrupados em intervalos de controle de comprimento fixo (CI) e áreas de controle (CA). O tamanho do CI e do CA é determinado pelos Serviços de Método de Acesso (AMS) e a maneira como são usados ​​normalmente não é visível para o usuário. Haverá um número fixo de intervalos de controle em cada área de controle.

Um intervalo de controle normalmente contém vários registros. Os registros são armazenados dentro do intervalo de controle a partir do endereço baixo para cima. As informações de controle são armazenadas na outra extremidade do intervalo de controle, começando no endereço alto e descendo. O espaço entre os registros e as informações de controle é um espaço livre. A informação de controle compreende dois tipos de entrada: um campo descritor de intervalo de controle (CIDF), que está sempre presente, e campos descritor de registro (RDF), que estão presentes quando há registros dentro do intervalo de controle e descrevem o comprimento do registro associado. O espaço livre em um IC é sempre contíguo.

Quando os registros são inseridos em um intervalo de controle, eles são colocados na ordem correta em relação aos outros registros. Isso pode exigir que os registros sejam movidos para fora do intervalo de controle. Por outro lado, quando um registro é excluído, os registros posteriores são movidos para baixo para que o espaço livre permaneça contíguo. Se não houver espaço livre suficiente em um intervalo de controle para que um registro seja inserido, o intervalo de controle será dividido. Aproximadamente metade dos registros são armazenados no intervalo de controle original, enquanto os registros restantes são movidos para um novo intervalo de controle. O novo intervalo de controle é obtido de um conjunto de intervalos de controle livres dentro da mesma área de controle que o intervalo de controle original. Se não houver nenhum intervalo de controle livre restante dentro dessa área de controle, a própria área de controle é dividida e os intervalos de controle são distribuídos igualmente entre a antiga e a nova área de controle.

Você pode usar três tipos de organização de arquivos orientada para registro com VSAM (o conteúdo dos conjuntos de dados lineares não tem estrutura de registro):

Organização VSAM sequencial

Um ESDS pode ter um índice definido para permitir o acesso por meio de chaves, definindo um Índice Alternativo. Os registros no ESDS são armazenados na ordem em que são gravados por acesso ao endereço. Os registros são carregados independentemente de seu conteúdo e seus endereços de byte não podem ser alterados.

Organização VSAM indexada

Um KSDS tem duas partes: o componente de índice e o componente de dados. Eles podem ser armazenados em volumes de disco separados.

Embora um KSDS básico tenha apenas uma chave (a chave primária), índices alternativos podem ser definidos para permitir o uso de campos adicionais como chaves secundárias. Um Índice Alternativo (AIX) é em si um KSDS.

A estrutura de dados usada por um KSDS é hoje conhecida como árvore B + .

Organização VSAM relativa

Um RRDS pode ter um índice definido para permitir o acesso por meio de chaves, definindo um Índice Alternativo.

Organização VSAM linear

Um LDS é um conjunto de dados VSAM não estruturado com um tamanho de intervalo de controle de um múltiplo de 4K. É usado por certos serviços do sistema.

Técnicas de acesso a dados VSAM

Existem quatro tipos de técnicas de acesso para dados VSAM:

  • Recursos locais compartilhados (LSR), são otimizados para acesso "aleatório" ou direto. O acesso LSR é fácil de obter a partir do CICS .
  • Recursos compartilhados globais (GSR)
  • Recursos não compartilhados (NSR), que são otimizados para acesso sequencial. O acesso NSR tem sido historicamente mais fácil de usar do que o LSR para programas em lote.
  • O Distributed File Management (DFM), uma implementação de um servidor Distributed Data Management Architecture , permite que programas em computadores remotos criem, gerenciem e acessem arquivos VSAM.

Compartilhando dados VSAM

O compartilhamento de dados VSAM entre regiões CICS pode ser feito por VSAM Record-Level Sharing (RLS). Isso adiciona cache de registro e, mais importante, bloqueio de registro. O processamento de registro e confirmação continua sendo responsabilidade do CICS, o que significa que o compartilhamento de dados VSAM fora de um ambiente CICS é severamente restrito.

O compartilhamento entre regiões CICS e tarefas em lote requer VSAM Transacional , DFSMStvs. Este é um programa opcional que se baseia no VSAM RLS, adicionando registro e confirmação de duas fases, usando serviços de sistema z / OS subjacentes. Isso permite o compartilhamento generalizado de dados VSAM.

História

O VSAM foi introduzido como um substituto para métodos de acesso mais antigos e tinha o objetivo de adicionar funções, ser mais fácil de usar e superar problemas de desempenho e dependência de dispositivo. O VSAM foi introduzido na década de 1970, quando a IBM anunciou sistemas operacionais de armazenamento virtual (DOS / VS, OS / VS1 e OS / VS2) para sua nova série System / 370, como sucessores dos sistemas operacionais DOS / 360 e OS / 360 em execução em seu Sistema / série de computadores 360. Embora a compatibilidade com versões anteriores fosse mantida, os métodos de acesso mais antigos sofriam de problemas de desempenho devido à conversão de endereços necessária para o armazenamento virtual.

A organização KSDS foi projetada para substituir o ISAM , o Método de Acesso Sequencial Indexado. As mudanças na tecnologia de disco significaram que a pesquisa de dados em conjuntos de dados ISAM se tornou muito ineficiente. Também era difícil mover conjuntos de dados ISAM, pois havia ponteiros incorporados para locais de disco físico que se tornavam inválidos se o conjunto de dados fosse movido. A IBM também forneceu uma interface de compatibilidade para permitir que programas codificados para usar ISAM usem um KSDS.

A organização RRDS foi projetada para substituir o BDAM , o Método Básico de Acesso Direto. Em alguns casos, os conjuntos de dados BDAM continham ponteiros embutidos que os impediam de serem movidos. No entanto, a maioria dos conjuntos de dados BDAM não, e o incentivo para mudar de BDAM para VSAM RRDS era muito menos atraente do que mudar de ISAM para VSAM KSDS.

Conjuntos de dados lineares foram adicionados posteriormente, seguidos por VSAM RLS e, em seguida, VSAM transacional.

Veja também

Notas

Referências