MVS o parrudo sistema operacional dos IBM Mainframes



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

MVS o parrudo sistema operacional dos IBM Mainframes

O lendário MVS, o sistema operacional do mainframe.

Salve jovem padawan estamos na última semana de 2021, que ano louco, por um lado o Brasil chegou ao fundo do poço na Batalha contra o Coronavirus, porém graças aos governadores guerreiros, conseguimos reverter e na luta pela vacina, conseguimos nos salvar.
No futuro este ano será um que contaremos aos nossos netos e refletiremos sobre o ocorrido, cada um com suas cicatrizes, 2021 foi um ano fabuloso em que conheci a Lendária Digital Innovation One e retornei ao mundo da informática, laureando inúmeras conquistas, mas também disse adeus a meu pai, vitimado por esta pandemia aos 70 anos.

Divaguei muito fugindo ao tópico central, hoje vamos falar sobre Mainframe, esta overview tem como objetivo apresentar aos padawan, detalhes sobre o mais antigo sistema operacional em funcionamento, por incrível que parece, surgiu nos anos 70, passou por transformações e inovações mas em sua essência, digamos o Kernel, é uma atualização hiper turbina do OS/360 o sistema operacional dos potentes computadores IBM.

Mas antes que ache tudo isso muito confuso, vamos voltar no tempo, no final dos anos 50 iniciou uma grande corrida para construírem computadores, velozes e mais potentes em série, maiores e mais econômicos, o grande problema é que faltava uma padronização, cada fabricante tinha seu próprio código de caracteres, sistemas de arquivos, linguagem de programação e sistema operacional, poucos conseguiam trocar informações em computadores.

Era um caos, então o governo americano impôs uma série de condições para os fabricantes de computadores, comentei isso em artigo anterior que falava sobre a origem do COBOL.
Com isso a IBM na vanguarda da tecnologia lançou o OS/360 para sua linha de computadores S360.

Neste artigo vou apresentar ao jovem padawan termos técnicos relacionados ao ambiente IBM Mainframe, mais precisamente o sistema operacional, atualmente conhecido por Z/OS, mas como vai ler no decorrer do texto, são as inúmeras evoluções do original MVS, sucessor do OS/360 que durante quase 40 anos dominou o estado da arte em computação.

O que é OS/360?

Do inglês Operation System 360 foi o Sistema Operacional pioneiro usado em larga escala, merece um artigo somente dele, em linhas gerais surgiu em 1964 e introduziu o conceito de processamento batch, sistema de arquivos DASD, permitiu a utilização de task em linha de comando e o uso de linguagem JCL para controlar a execução de programas em scripts, teve algumas atualizações até que em 1974 foi substituído pelo MVS.

O que é MVS?

Foi o Sistema Operacional mais longevo da história da computação, usado pelos computadores S370 e S390 até meados do ano 2000.
Mais uma palavra formada pela junção de siglas da definição “Multiple Virtual Storage”, ou Armazenamento Múltiplo Virtual, lançado em 1974, revolucionando o mundo da informática, pois permitia fragmentar a memória e permitir múltiplas partições, a segurança foi reforçada pelo RACF e o sistema de arquivos permitia a criação de nomes longos em formatos sequencial e particionado, literalmente permitiu o multiprocessamento e devido a sua arquitetura de restore, minimizou ao máximo as paradas por falha de software e hardware, criando pontos de reparo invisíveis aos usuários finais, que muitas vezes não se davam conta do abend.

A sua arquitetura permitiu a migração de softwares e aplicativos, que foram projetados para o OS/360 e versões anteriores funcionasse normalmente sem a necessidade de recompilaçoes e conversões, fracamente acoplado permitia o acesso workload comum e multiprocessamento criando áreas autônomas para cada aplicativo e ao mesmo acesso há uma área de armazenamento maior onde poderia trocar dados e se necessário expandir a própria área.

Foi escrito em Assembly e PL/I sendo um sistema robusto, altamente escalável, que permitia a instalação de novos periféricos sem a necessidade de reinicializar o equipamento.

Expandiu as potencialidades dos aplicativos online, através do uso do CICS, administrando largas áreas de memória para troca de dados entre ambientes e aplicativos, melhorou os processos batch aprimorando a linguagem JCL e o ambiente de trabalho TSO.

Inicialmente possuía endereçamento de 16 megas de memória (24 bits) evoluindo até os 2 megabytes (31 bits) em versões mais recentes sempre controlado por CICS, porém nas versões mais recentes outros aplicativos começaram a controlar o próprio endereçamento de memória.

O que é JCL?

Job Control Language é similar ao processo batch nos ambientes Windows/Unix/Linux Um acrônimo JCL, significa linguagem de controle de trabalhos/tarefas é uma linguagem de script interpretada usada em mainframes para enfileirar e executar tarefas.

Usamos o SDSF, uma janela em forma de aplicativo online, onde monitoramos em tempo real os Jobs em execução e os concluídos no ambiente MVS e inúmeras outras atividades em funcionamento no MVS.

O que é TSO?

O primeiro menu dentro do TSO é o ISPF, uma consola onde apresenta informações sobre o usuário, menu de ferramentas e aplicativos gerais do sistema MVS, que permite ao usuário acesso a arquivos, submenus, aplicativos sempre de acordo com seu perfil no RACF.

Para nos usuários acostumados com o Windows seria o equivalente ao Windows Explorer na parte de gestão de periféricos, arquivos, execuções e acesso, permitindo verificar status de dispositivos e acompanhar o funcionamento do MVS.

O que é ISPF?

Interactive System Productivity Facility, Sistema Interativo de Produtividade e Facilidades, uma ferramenta interativa completa para operar no sistema Mainframe.

Através dela acessamos via CRUD arquivos sequenciais, arquivos particionados, alteramos as configurações de usuário TSO, acessamos CICS aberto, acessamos linha de comandos, enfileiramos Jobs em processos batch, acessamos o SDSF e outras ferramentas de produtividade e acesso ao WorKStation.

Para o jovem padawan este aplicativo é similar ao Windows Explorer, onde podemos gerir e operar inúmeras funcionalidades de arquivos e aplicativos.

O que é SDSF?

Mais um anacronimo para System Display and Search Facility é um serviço/aplicativo utilizado dentro do TSO, que serve para monitorar o sistema MVS, exibindo em seu funcionamento o status de Jobs em processamento, em stand-by e concluídos, monitorando o funcionamento do computador, através do RACF, existe uma muralha onde apenas usuários autorizados podem acompanhar o Sistema.

Uma analogia simplista para explicar o funcionamento desta ferramenta seria o Gerenciamento de Tarefas do Windows, onde acompanhamos tudo o que ocorre na sessão de acordo com nosso acesso.

É possível monitorar Jobs, Printers, Tasks, Initiators, Logs, filas, acesso a periféricos e etc.
O acesso ao Output Queue exibe Jobs, JES JOBID, Owner, Form Number, Remote Printer Destination (RMT) permitindo saber se a execução concluiu corretamente ou em Abend.

O que é RACF?

Perdoe-me padawan é siglas atrás de siglas, anacronimos, sinto por ser maçante, mas entrar em um ambiente completamente novo, precisamos de base e o RACF, Resource Access Control Facility em bom português Solução de Controle de Acesso a Recursos.

É o xerife do mainframe, graças a eles a equipe de segurança criam regras de acesso, permissão de operação e navegação em menus, consultas em SDSF e utilização de CICS e CRUD em arquivos sequenciais ou particionados.

Importante ter atenção as atividades no Mainframe, pois o RACF gera um longo e extenso log de todas as operações e acessos no Sistema Central, é um software tão poderoso que ataques hackers em mainframe são quase nulos e inexistentes.

Arquivos em mainframe

Agora que conhecemos os principais aplicativos de manipulação e operação, vamos conhecer um pouco mais sobre o sistema de arquivos no mainframe.
Lembrando que estamos em um processo Cics/batch, em que todas as tarefas são executadas via uma chamada via menu TSO/ISPF, que enfileira o respectivo job e obtemos acesso aos dados.

O arquivo é denominado via DSN, data set name, definidos hierarquicamente e separado por pontos, onde normalmente o nível mais alto, indica o Sistema origem, devido as especificações do MVS, cada nível possui 8 bytes.

Os datasets são lidos sequencialmente, um registro por vez, porém de acordo com os parâmetros do jcl, os blocos contem mais registros, acumulando em buffer de memória, para evitar acessos desnecessário ao cartucho (cartridge) ou disco rígido.

Existem dois tipos principais de arquivos no MVS:

  • Sequencial: os dados são armazenados sequencialmente, com formato Fixo, Fixo Blocado, Variavel, Variavel Blocado ou Indefinido, VSAM indexados ou não.
    • BDAM (acesso direto)
    • ISAM (acesso por chave)
  • Particionado: que armazena em seu interior outros arquivos do tipo sequencial.

Uma facilidade no gerenciamento dos arquivos é a criação de Grupos de Geração de Dados - Generation Data Groups (GDGs) , onde criamos um nome raiz e a cada processamento é gerado uma nova versão com identificação sequencial.

Os arquivos VSAM são um tipo especial de arquivo, onde é definido uma chave, semelhante ao índice de banco de dados SQL, onde o programa pode acessar os registros diretamente através de uma key.
Devido a complexidade do tema, em breve publicarei um artigo somente com este topico, a titulo de curiosidade o Banco de Dados DB2 em sua estrutura esta um complexo sistema de arquivos VSAM.

Conclusão

Meu jovem padawan, espero ter clareado o tema, que em próximos artigos iremos expandir e agregar mais conhecimentos, o objetivo principal foi apresentar dados introdutórios sobre o Sistema Operacional do Mainframe MVS, que foi o sistema dos sistemas por 40 anos, sendo substituído atualmente pelo Z/OS.

Porem devido a dinâmica do mercado, com certeza existem muitas instalações onde o MVS é o Sistema, a IBM sempre que lança uma nova versão dos seus SO, ela mantem a compatibilidade entre programas antigos, minimizando ao máximo a necessidade de recompilações e migrações de aplicativos.

Efetueis algumas revisões, alguns pontos obscuros foram clarificados, mas como um bom trabalho em curso, sempre que sinto necessidade edito e incluo alguns pontos para facilitar a leitura.

Caso surjam mais dúvidas ou pontos obscuros deixe nos comentários, que irei clarificar e melhorar para o futuro.

Espero ter ajudado, lembre-se que é um trabalho continuo.



© Copyright Vagner Bellacosa - Analista Programador dinossauro IBM Mainframe