10/08/17

Sistema de arquivos do Mainframe

Sistema de arquivo do MVS

Os nomes dos datasets (Data set name - DSN, termo para designar nomes de arquivos) são organizados em uma hierarquia na qual seus níveis são separados por pontos, como por exemplo "DEPT01.SIS01.PROJ01.ARQ01". Cada nível hierárquico pode conter até 8 caracteres. O tamanho máximo para o nome do dataset é de 44 caracteres incluindo os pontos. Por convenção, os componentes separados por pontos são usados para organizar os datasets similares em diretórios de outros sistemas operacionais. Por exemplo, existem programas que possuem funcionalidades semelhantes às do Windows Explorer (porém sem a GUI e geralmente em modo de processamento batch): criar, renomear ou excluir elementos e adicionar-lhes conteúdo. Porém, diferente de muitos outros sistemas, estes níveis hierárquicos não são de fato diretórios, mas apenas uma convenção de nomenclatura (como o sistema de arquivo inicial do Macintosh, onde a hierarquia de pastas é uma ilusão provocada pelo Finder). O TSO provê suporte a um prefixo padrão para arquivos (semelhante a "diretório atual"), e o RACF permite a configuração de controle de acesso baseado em padrões de nomenclatura, análogo aos controles de acesso de diretórios de outras plataformas.

Assim como os outros sistemas da família, os datasets do MVS são record-oriented - orientado à registros. O MVS herdou três principais características de seus predecessores:

(*) Datasets sequenciais são normalmente lidos como um registro por vez, do início ao fim.
(*) Em datasets BDAM (acesso direto), o programa aplicativo deve especificar a localização física do dado a ser acessado (geralmente especificando o deslocamento a partir do início do dataset).
(*) Em datasets ISAM, uma seção específica de cada registro é definida como uma chave que pode ser utilizada para obter registros específicos. A chave muitas vezes consiste de múltiplos campos, estes que devem ser necessariamente contíguos e na ordem correta, e os valores dessas chaves devem ser únicos (unique). Por isso um dataset IBM VSAM pode possuir apenas uma chave, equivalente ao conceito de chave primária de uma tabela de banco de dados relacional, apesar de não haver alguma equivalência de chave estrangeira.
Datasets sequencias e ISAM podem armazenar tanto registros de tamanho fixo quanto variável, e todos os registros podem ocupar mais que um volume de disco.

Todas estas características são baseadas na estrutura de disco VTOC.

Os primeiros sistemas de gerenciamento de bancos de dados da IBM utilizavam várias combinações de datasets ISAM e BDAM, sendo o uso de BDAM mais comum para o armazenamento de dados e ISAM para índices.

No início dos anos 70, os sistemas operacionais da IBM com suporte à memória virtual apresentaram um novo componente de gerenciamento de arquivos, VSAM, que proporcionava recursos similares:

(*) Entry-Sequenced Datasets - Datasets Sequenciados por Registro (ESDS) proveem recursos similares aos oferecidos tanto pelos datasets sequenciais como BDAM, uma vez que eles podem ser lidos tanto do início como do fim ou ainda especificando o deslocamento desejado a partir do início.
(*) Key-Sequenced Datasets - Datasets Sequenciados por Chaves (KSDS) são uma atualização do ISAM: permitem chaves secundárias com valores não únicos (non-unique) e que podem ser formadas por campos não contíguos e em qualquer ordem. Estes datasets diminuíram em muito os problemas de performance causados pelo estouro de registros no ISAM, e também reduziram o risco de uma falha de software ou hardware durante uma atualização de índice corromper todo o índice.
Estes formatos VSAM tornaram-se a base dos sistemas de gerenciamento de bancos de dados da IBM, IMS/VS e DB2, sendo o uso de ESDS mais comum para o armazenamento de dados e KSDS para índices.

O VSAM também incluiu um componente de catálogo utilizado pelo catálogo mestre do MVS.

Datasets particionados - Partitioned Datasets (PDS) eram datasets sequenciais subdivididos em membros que poderiam ser processados individualmente como datasets sequenciais. O uso mais importante dos PDS foram para bibliotecas de programas, os administradores do sistema usavam um PDS principal como uma forma de alocar espaço em disco para um determinado projeto, e o time criava e editava membros conforme suas necessidades.

Grupos de Geração de Dados - Generation Data Groups (GDGs) foram originalmente projetados para dar suporte à procedimentos de backups grandfather-father-son: se um dataset fosse modificado, a versão alterada se tornava o filho, o filho anterior se tornava o pai, o pai anterior se tornava o avô e o avô anterior era excluído. Mas era possível configurar os GDGs para lidarem com muito mais que três gerações, de tal forma que algumas aplicações utilizavam os GDGs para coletarem dados de diversas fontes para alimentarem um programa, sendo que cada programa de coleta criava uma nova geração de um arquivo e o programa final lia todo o grupo como um simples arquivo sequencial (não especificando a geração pelo JCL).

As versões modernas do MVS, como o z/OS, também suportam sistemas de arquivo compatíveis com POSIX, fornecendo ainda recursos para integrar os dois sistemas de arquivo. Isto é, o sistema operacional consegue fazer com que um dataset do MVS apareça como um arquivo para um programa ou subsistema POSIX. Estes novos sistemas de arquivo incluem Hierarchical File System - Sistema de Arquivo Hierárquico (HFS) (não confundir com o sistema de arquivo HFS da Apple) e zFS (não confundir com o sistema de arquivo ZFS da Sun).

Retirado

5 comentários:

  1. Please take off this post as you have violated my copyright to this article. Thank you.

    ResponderEliminar
  2. Cara existe alguma pasta dentro do Hércules na sua estrutura física onde estão localizados os Membros/Programas que são criados no DataSet ?

    ResponderEliminar
    Respostas
    1. Você quer fazer o que? No mainframe tudo é dataset, tem datasets com ficam os arquivos um bom exemplo é um TXT no nosso computador onde a gente salva algo, e tem datasets que ficam os membros, que seria igual a uma biblioteca, é um lugar onde tem vários livros.

      Eliminar
  3. O Hercules é um emulador que acessa as imagens de um sistema operacional e emula esse sistema operacional, só acessando dentro do z/OS para poder acessar os arquivos.

    ResponderEliminar