☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta UNIX. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta UNIX. Mostrar todas as mensagens

quinta-feira, 9 de maio de 2019

⛩️ YOUJI ITAMI E O GATE: USS PARA O OUTRO MUNDO DO z/OS

 

Bellacosa Mainframe apresenta o USS Unix Posix no Zos

☕ Um Café no Bellacosa Mainframe

⛩️ YOUJI ITAMI E O GATE PARA O OUTRO MUNDO DO z/OS

UNIX System Services, MVS, datasets, JCL, ISPF, zFS, shell, POSIX, RACF, EBCDIC, UTF-8, Git, APIs, Python, Java, DevOps — e o dia em que um programador COBOL atravessou um portal e descobriu que havia UNIX dentro do mainframe.



🎬 PRÓLOGO — UM GATE APARECEU NO MEIO DO ISPF

Imagine nosso jovem programador COBOL.

Chamaremos o rapaz de Padawan-01.

Depois de algumas semanas estudando mainframe, ele já estava começando a se sentir confortável.

Sabia entrar no TSO.

Conhecia o ISPF.

Já não entrava em pânico diante de:

USER01.COBOL.SOURCE
USER01.JCL
USER01.COPYLIB
USER01.LOADLIB

Conseguia navegar por um PDS, abrir um member e até escrever um pequeno programa COBOL.

Seu universo parecia perfeitamente organizado:

IBM Z
  │
  ▼
z/OS
  │
  ├── TSO
  ├── ISPF
  ├── datasets
  ├── JCL
  ├── JES2
  ├── COBOL
  ├── CICS
  ├── VSAM
  └── Db2

Até que, numa tarde aparentemente normal, apareceu um estranho portal no meio do reino.

No portal estava escrito:

UNIX SYSTEM SERVICES

O jovem olhou assustado.

— UNIX? Professor, acho que entrei no curso errado.

Sentado tranquilamente diante do terminal estava Youji Itami, protagonista de GATE, com aquela expressão típica de alguém que preferia estar cuidando de seus hobbies em vez de resolver mais uma crise internacional.

Itami olhou para o garoto.

— Não. Você continua no z/OS.

— Mas tem UNIX aqui!

— Tem.

— Shell?

— Tem.

— Diretórios?

— Tem.

— grep?

— Tem.

— Processos?

— Tem.

— POSIX?

— Também.

Padawan-01 ficou alguns segundos olhando para a tela.

Itami levantou-se.

— Bem-vindo ao outro lado do GATE.

E é exatamente aqui que começa uma das descobertas mais importantes para qualquer profissional de mainframe moderno:

z/OS não é apenas MVS + datasets + JCL + ISPF.

Existe outro mundo dentro da mesma plataforma.

Seu nome é UNIX System Services — USS.



🏛️ CAPÍTULO 1 — O REINO QUE O PROGRAMADOR COBOL NÃO CONHECIA

Existe um problema curioso na maneira como muita gente aprende mainframe.

O treinamento começa corretamente por conceitos fundamentais:

  • IBM Z;

  • z/OS;

  • TSO;

  • ISPF;

  • datasets;

  • JCL;

  • JES;

  • COBOL.

Nada está errado nisso.

O problema surge quando o estudante começa a acreditar que isso é todo o z/OS.

Não é.

É como atravessar o GATE, conhecer uma única cidade da Região Especial e concluir que conhece todo aquele mundo.

O z/OS possui diferentes ambientes e modelos de utilização.

Uma visão simplificada seria:

                         z/OS
                           │
              ┌────────────┴────────────┐
              │                         │
      AMBIENTE TRADICIONAL             USS
              │                         │
            TSO                       shell
            ISPF                      files
            JCL                    directories
            JES                    processes
         datasets                    pipes
          COBOL                      POSIX
              │                         │
              └────────────┬────────────┘
                           │
                       IBM Z

Quando mostramos isso cedo ao iniciante, acontece algo importante.

Ele deixa de associar:

MAINFRAME = COBOL

e começa a compreender:

COBOL
   │
   ▼
uma das tecnologias
   │
   ▼
z/OS
   │
   ▼
uma das plataformas
   │
   ▼
IBM Z

Essa mudança mental parece pequena.

Profissionalmente, é gigantesca.



⛩️ CAPÍTULO 2 — O QUE É UNIX SYSTEM SERVICES?

UNIX System Services é um ambiente UNIX integrado ao z/OS.

Ele oferece recursos e interfaces baseados em padrões UNIX e POSIX.

Isso significa que alguém vindo de Linux ou UNIX pode encontrar conceitos extremamente familiares:

pwd
ls
cd
mkdir
cp
mv
rm
cat
grep
find
chmod
ps
kill

Padawan-01 atravessa o portal.

Do outro lado, digita:

pwd

E recebe:

/u/padawan01

Ele olha para Itami.

— Cadê meu HLQ?

Itami responde:

— Continue.

ls -l

Aparece algo parecido com:

-rw-r--r--  1 padawan users   840 Sep 17 15:30 config.json
drwxr-xr-x  2 padawan users  8192 Sep 17 15:40 scripts

— PROFESSOR! SUMIRAM OS DATASETS!

Não.

Eles não sumiram.

Você simplesmente atravessou para outro modelo de filesystem.

Essa distinção é essencial.



🗄️ CAPÍTULO 3 — DATASET NÃO É FILE

No mundo tradicional do z/OS podemos encontrar:

VAGNER.COBOL.SOURCE
VAGNER.COBOL.COPYLIB
VAGNER.JCL
VAGNER.CNTL

No USS podemos encontrar:

/u/vagner/project/src
/u/vagner/project/scripts
/u/vagner/project/config

Parece equivalente?

Em determinados contextos podemos criar analogias didáticas.

Mas cuidado.

Dataset não é simplesmente o nome mainframe para arquivo UNIX.

Da mesma maneira:

PDS/PDSE ≠ directory
member   ≠ file
HLQ      ≠ /

Existem semelhanças funcionais que ajudam o iniciante a criar referências mentais, mas as estruturas possuem características próprias.

Essa é uma excelente oportunidade para ensinar arquitetura em vez de apenas comandos.



🌳 CAPÍTULO 4 — ITAMI ENCONTRA UMA ÁRVORE NO MAINFRAME

No USS encontramos uma estrutura hierárquica típica do mundo UNIX:

/
├── bin
├── dev
├── etc
├── tmp
├── u
│   ├── itami
│   ├── padawan01
│   └── bellacosa
├── usr
└── var

Agora compare com datasets:

PADAWAN.COBOL
PADAWAN.JCL
PADAWAN.COPYLIB
PADAWAN.TEST.DATA

O primeiro modelo trabalha naturalmente com uma árvore de diretórios.

O segundo utiliza a organização e nomenclatura próprias de datasets do z/OS.

É importante conhecer ambos porque aplicações modernas no mainframe frequentemente atravessam esses mundos.

E existe aqui outro nome que o jovem programador deve aprender:

zFS

O z/OS File System, conhecido como zFS, é peça importante do filesystem utilizado pelo USS.

Podemos ter filesystems montados na hierarquia USS.

Conceitualmente:

zFS
 │
 ▼
mount
 │
 ▼
/u/projeto
 │
 ├── bin
 ├── config
 ├── logs
 └── scripts

Isso já é muito diferente da visão inicial:

MAINFRAME = PDS + JCL

O mapa ficou maior.


🐚 CAPÍTULO 5 — O DIA EM QUE O MAINFRAME RESPONDEU ls

Itami entrega o terminal ao Padawan.

— Sua missão é criar uma área de trabalho.

cd /u/padawan01
mkdir treinamento
cd treinamento

Agora:

pwd

Resultado:

/u/padawan01/treinamento

Criamos um arquivo:

echo "Hello Mainframe" > teste.txt

E verificamos:

cat teste.txt

Resultado:

Hello Mainframe

O jovem fica em silêncio.

Não apareceu ISPF.

Não apareceu JCL.

Não apareceu //SYSIN DD *.

E, mesmo assim, ele continua trabalhando no z/OS.

Esse laboratório de cinco minutos vale uma longa explicação teórica porque quebra imediatamente o estereótipo de que mainframe significa apenas terminal 3270.


🔗 CAPÍTULO 6 — ITAMI DESCOBRE O PODER DOS PIPES

No mundo UNIX existe uma filosofia extremamente elegante:

faça pequenas ferramentas realizarem tarefas específicas e combine seus resultados.

Imagine um arquivo:

application.log

Queremos encontrar erros.

grep ERROR application.log

Queremos procurar ABENDs:

grep ABEND application.log

Podemos combinar comandos:

cat application.log | grep ERROR

E criar cadeias:

cat application.log |
grep ERROR |
sort |
uniq

O símbolo:

|

é um pipe.

A saída de um comando pode alimentar outro.

Para alguém acostumado ao processamento batch, podemos fazer uma analogia.

No JCL:

INPUT
  │
  ▼
STEP01
  │
  ▼
TEMP
  │
  ▼
STEP02
  │
  ▼
OUTPUT

No shell:

INPUT → comando | comando | comando → OUTPUT

Não são exatamente a mesma arquitetura.

Mas comparar os modelos ensina algo muito mais importante do que decorar sintaxe:

fluxo de processamento.


🕵️ CAPÍTULO 7 — GREP, O DETETIVE DO GATE

Imagine um log com 200 mil linhas.

O programador abre o arquivo e começa:

FIND 'ERROR'

Itami observa.

Um minuto.

Dois minutos.

Cinco minutos.

Finalmente pergunta:

— O que você está fazendo?

— Investigando o incidente.

Itami aponta para o shell:

grep ERROR application.log

Agora queremos contar ocorrências:

grep ERROR application.log | wc -l

Queremos encontrar determinados arquivos:

find /u/projeto -name "*.log"

Queremos procurar determinado conteúdo dentro deles.

O profissional começa a construir uma nova caixa de ferramentas.

Essa habilidade torna-se especialmente valiosa em troubleshooting, automação, análise de logs e operações.


🔐 CAPÍTULO 8 — RACF ATRAVESSA O GATE

Padawan aprende:

chmod 777 deploy.sh

Itami imediatamente aparece atrás dele.

— O que você está fazendo?

— Resolvendo o problema de permissão.

Silêncio constrangedor.

Essa é outra aula importante.

No UNIX encontramos conceitos como:

owner
group
other

e permissões:

r = read
w = write
x = execute

Por exemplo:

-rwxr-x---

Podemos representar:

           USER     GROUP     OTHER

READ         X        X
WRITE        X
EXECUTE      X        X

No entanto, USS continua integrado ao modelo de segurança do z/OS.

Entram conceitos relacionados a:

SAF
RACF
UID
GID
owner
group
permissions

Portanto, ensinar USS também cria uma excelente oportunidade para ensinar segurança.

E uma regra deve ficar gravada:

chmod 777 não é estratégia de troubleshooting.

É muitas vezes a confissão:

"Não descobri qual permissão estava errada, então liberei tudo."

Em laboratório pode aparecer.

Em produção merece investigação.


👹 CAPÍTULO 9 — O MONSTRO EBCDIC ATRAVESSA O PORTAL

Itami acreditava que a missão estava tranquila.

Então chegou o verdadeiro monstro da Região Especial:

ENCODING

No mundo tradicional z/OS existe uma longa história relacionada a EBCDIC.

No mundo distribuído encontramos frequentemente:

ASCII
UTF-8

Agora imagine integração moderna:

COBOL
 │
 ▼
dados EBCDIC
 │
 ▼
API
 │
 ▼
JSON / UTF-8
 │
 ▼
aplicação distribuída

Pronto.

Temos terreno fértil para problemas.

Caracteres especiais, acentos e conversões podem produzir surpresas.

O programador manda:

JOÃO

e alguma camada mal configurada responde com algo que parece ter sido escrito por um mago bêbado da Região Especial.

Por isso, aprender USS também deveria envolver:

  • encoding;

  • code pages;

  • ASCII;

  • EBCDIC;

  • UTF-8;

  • conversão;

  • tagging de arquivos.

Não trate encoding como detalhe.

Em integração, detalhe vira incidente.


⚙️ CAPÍTULO 10 — PROCESSOS TAMBÉM EXISTEM DO OUTRO LADO

Outro conceito UNIX importante é processo.

Comandos como:

ps

permitem observar processos.

Podemos então introduzir conceitos relacionados a:

PID
process
parent process
signal
environment

E eventualmente:

kill

Aqui é preciso explicar ao iniciante que aprender comandos não significa sair executando-os indiscriminadamente.

Especialmente kill.

No mainframe, como em qualquer ambiente corporativo sério, antes de terminar alguma coisa devemos saber:

O que é?

Quem iniciou?

Quem depende disso?

Qual impacto?

Existe procedimento operacional?

O botão funciona.

O problema é descobrir o que acontece depois que você aperta.


🚪 CAPÍTULO 11 — BPXBATCH: UM PORTAL DENTRO DO PORTAL

Agora Itami encontra algo particularmente interessante.

Os dois mundos podem conversar.

Um exemplo conceitual importante é BPXBATCH.

Podemos ter:

JCL
 │
 ▼
BPXBATCH
 │
 ▼
USS
 │
 ▼
shell / programa

Isso destrói a ideia de que existem dois sistemas completamente separados:

MVS      USS
 │        │
X        X

Uma representação melhor seria:

                  z/OS
                    │
          ┌─────────┴─────────┐
          │                   │
       clássico              USS
          │                   │
         JCL                shell
         JES                files
      datasets             processes
          │                   │
          └─────────┬─────────┘
                    │
                integração

É o GATE funcionando nos dois sentidos.


🌐 CAPÍTULO 12 — DO OUTRO LADO EXISTIAM APIs

Agora começamos a entender por que USS é tão relevante numa formação moderna.

O jovem programador pode encontrar tecnologias e conceitos como:

shell
SSH
Git
Java
Python
JSON
XML
REST
automação
CI/CD
APIs

Isso não significa que USS seja simplesmente Linux.

Esse erro também deve ser evitado.

USS não é "Ubuntu escondido dentro do z/OS".

Existem padrões e conceitos familiares ao universo UNIX, mas estamos dentro da arquitetura, segurança, operação e características do z/OS.

É justamente isso que torna o assunto interessante.


🧬 CAPÍTULO 13 — GIT ENCONTRA COBOL

Agora imagine um programador moderno.

Ele escreve COBOL.

Mas seu código está versionado.

Temos:

Developer
    │
    ▼
   Git
    │
    ▼
Pipeline
    │
    ├── build
    ├── test
    ├── quality gate
    ├── security
    └── deploy
           │
           ▼
          z/OS

De repente, conhecimentos de USS tornam-se extremamente úteis.

O profissional não vive necessariamente apenas em:

3270 → TSO → ISPF

Ele pode transitar por:

                    DEVELOPER
                        │
       ┌────────────────┼────────────────┐
       │                │                │
     ISPF              USS             IDE
       │                │                │
     COBOL            shell             Git
       │                │                │
       └────────────────┼────────────────┘
                        │
                      CI/CD
                        │
                       API
                        │
                      z/OS

Isso muda inclusive nossa definição de "programador mainframe".


🐍 CAPÍTULO 14 — PYTHON, JAVA E OS NOVOS HABITANTES DA REGIÃO ESPECIAL

Outro erro comum é imaginar:

mainframe = COBOL

COBOL continua importantíssimo.

Mas IBM Z e z/OS não são sinônimos de COBOL.

No ecossistema moderno podemos encontrar outras linguagens e runtimes.

Isso abre possibilidades relacionadas a Java, Python, shell scripting e outras tecnologias.

Não significa substituir COBOL gratuitamente.

Imagine um programa COBOL que processa milhões de transações diariamente há vinte anos e funciona perfeitamente.

Alguém chega:

— Vamos reescrever porque COBOL é velho.

Itami provavelmente perguntaria:

— Qual problema estamos tentando resolver?

Essa deveria ser sempre a pergunta.

Modernização séria começa pelo problema, não pela idade da linguagem.


🏗️ CAPÍTULO 15 — MODERNIZAR NÃO SIGNIFICA DEMOLIR A CIDADE

Esse talvez seja o ensinamento mais importante.

Modernização pode significar:

Git
CI/CD
APIs
automação
observabilidade
novas interfaces
melhores testes
segurança
integração

sem necessariamente significar:

APAGUE TODO O COBOL!

Imagine:

            SISTEMA EXISTENTE
                   │
              COBOL/CICS
                   │
              lógica madura
                   │
         ┌─────────┴─────────┐
         │                   │
        API                  MQ
         │                   │
         └─────────┬─────────┘
                   │
             novos canais

O patrimônio existente continua entregando valor enquanto novas formas de acesso e desenvolvimento são incorporadas.

É a diferença entre modernizar a cidade e incendiar a cidade para construir outra.


🧪 CAPÍTULO 16 — O LABORATÓRIO DOS PADAWANS

Se eu estivesse estruturando essa formação, USS não seria apenas PowerPoint.

Itami entregaria uma missão.

MISSÃO 1 — Descubra onde você está

pwd

MISSÃO 2 — Veja o território

ls -l

MISSÃO 3 — Construa sua base

mkdir treinamento
cd treinamento

MISSÃO 4 — Crie informação

echo "Hello z/OS" > hello.txt

MISSÃO 5 — Leia

cat hello.txt

MISSÃO 6 — Copie

cp hello.txt copia.txt

MISSÃO 7 — Mova

mv copia.txt backup.txt

MISSÃO 8 — Investigue

grep "z/OS" hello.txt

MISSÃO 9 — Procure

find . -name "*.txt"

MISSÃO 10 — Entenda permissões

ls -l

Depois:

chmod 750 algum_script.sh

Mas somente depois de explicar por quê.

MISSÃO 11 — Crie um shell script

Algo simples:

#!/bin/sh

echo "Bom dia, Padawan."
date
pwd

Então execute e observe.

O objetivo não é transformar o aluno em administrador UNIX em uma tarde.

O objetivo é retirar o medo.


🔥 CAPÍTULO 17 — O DESAFIO FINAL DE ITAMI

Agora entregamos:

incident.log

Com milhares de registros.

A missão:

Localize todos os ERROR.

Depois:

Localize todos os ABEND.

Depois:

Conte-os.

Depois:

Gere um arquivo apenas com as ocorrências.

Depois:

Descubra quais mensagens se repetem.

Agora o aluno começa a combinar:

grep
sort
uniq
wc

Nesse momento aconteceu algo importante.

Ele não está mais decorando UNIX.

Está pensando UNIX.

Essa diferença vale ouro.


🎓 CAPÍTULO 18 — QUANDO ENSINAR USS?

Eu não esconderia USS no final da formação como "conteúdo avançado".

Colocaria relativamente cedo.

Algo como:

IBM Z
  ↓
arquitetura
  ↓
z/OS
  ↓
TSO/ISPF
  ↓
datasets
  ↓
JCL/JES
  ↓
COBOL básico
  ↓
════════════════════
     ABRE-SE O GATE
════════════════════
  ↓
USS
  ├── filesystem
  ├── shell
  ├── zFS
  ├── POSIX
  ├── processos
  ├── pipes
  ├── permissões
  ├── RACF/SAF
  └── encoding
  ↓
Db2 / VSAM
  ↓
CICS
  ↓
MQ
  ↓
APIs
  ↓
Git
  ↓
CI/CD
  ↓
observabilidade
  ↓
modernização

Depois USS reaparece continuamente.

Essa é a chave.

Não deveria existir:

"Aula de USS concluída. Nunca mais falaremos disso."

USS precisa reaparecer quando estudamos segurança, desenvolvimento, integração, APIs, DevOps, automação e troubleshooting.


🧠 CAPÍTULO 19 — DE PROGRAMADOR COBOL PARA PROFISSIONAL z/OS

Esse é o verdadeiro objetivo.

Começamos com:

PROGRAMADOR COBOL

Depois adicionamos:

COBOL
JCL
ISPF
datasets

Depois:

CICS
Db2
VSAM
MQ

E finalmente:

USS
Git
APIs
shell
Python
Java
CI/CD
observabilidade
segurança

A pessoa começa a compreender o ecossistema.

Então podemos mudar a placa:

PROGRAMADOR COBOL
        ↓
DESENVOLVEDOR MAINFRAME
        ↓
PROFISSIONAL z/OS
        ↓
PROFISSIONAL IBM Z

Não porque abandonou COBOL.

Mas porque entendeu onde COBOL vive.


🥚 EASTER EGG — INCIDENTE 03:17

No final do laboratório, Itami entrega uma última missão.

Existe um arquivo misterioso:

/u/padawan/logs/gate.log

Padawan executa:

grep "03:17" /u/padawan/logs/gate.log

A tela responde:

03:17:00 BPXF024I GATE OPENED
03:17:01 PADAWAN ENTERED UNIX SYSTEM SERVICES
03:17:02 PADAWAN DISCOVERED GREP
03:17:03 PADAWAN STOPPED SEARCHING 300000 LINES MANUALLY
03:17:04 ITAMI REQUESTED COFFEE
03:17:05 BELLACOSA REQUESTED ANOTHER INCIDENT

O aluno olha para Itami.

— Professor... o que significa 03:17?

Itami toma um gole de café.

— Algumas coisas no mainframe você descobre sozinho.


☕ EPÍLOGO — O GATE NUNCA MAIS SE FECHOU

Padawan-01 voltou ao ISPF.

A tela era exatamente a mesma.

ISPF PRIMARY OPTION MENU

Mas alguma coisa havia mudado.

Não no mainframe.

Nele.

Antes enxergava:

MAINFRAME
   =
COBOL + JCL + ISPF

Agora enxergava:

                         IBM Z
                           │
                          z/OS
                           │
            ┌──────────────┼──────────────┐
            │              │              │
         CLÁSSICO         USS          MODERNO
            │              │              │
          COBOL           zFS            Git
           JCL           shell           APIs
          ISPF           POSIX          CI/CD
          CICS          processes       Java
          VSAM           pipes          Python
           Db2          security     observability
            │              │              │
            └──────────────┼──────────────┘
                           │
                    MAINFRAME MODERNO

Itami caminhou novamente em direção ao GATE.

Antes de atravessar, virou-se para o jovem programador.

— Você ainda gosta de COBOL?

— Muito.

— Ótimo. Continue estudando.

— Então por que me mostrou tudo isso?

Itami apontou para o enorme IBM Z atrás deles.

— Porque COBOL é uma linguagem. Isso aqui é uma plataforma.

E talvez essa seja uma das lições mais importantes que podemos ensinar para uma nova geração de profissionais.

COBOL continua sendo parte extraordinariamente importante da história e do presente do mainframe.

JCL continua importante.

ISPF continua importante.

Datasets continuam importantes.

CICS, Db2, VSAM, JES e RACF continuam importantes.

Mas ensinar somente isso cria uma janela estreita para uma plataforma gigantesca.

UNIX System Services abre outra janela.

Ali aparecem filesystem hierárquico, shell, POSIX, processos, pipes, permissões, zFS, integração com segurança do z/OS, encoding, automação e ferramentas modernas.

Depois surgem Git, APIs, Java, Python, CI/CD e novas formas de desenvolver e operar aplicações.

É nesse momento que o jovem deixa de perguntar:

"Como faço isso em COBOL?"

e começa a perguntar:

"Qual é a melhor maneira de resolver este problema no z/OS?"

Essa segunda pergunta forma profissionais muito mais completos.

Porque o futuro do mainframe não está em escolher entre o mundo antigo e o mundo novo.

Está em entender como os dois mundos atravessam o mesmo GATE.

E o profissional que consegue caminhar tranquilamente entre:

ISPF
 ↕
USS
 ↕
Git
 ↕
APIs
 ↕
CI/CD
 ↕
Cloud

sem esquecer de COBOL, JCL, CICS, Db2 e RACF não é apenas alguém mantendo sistemas antigos.

Ele está aprendendo a trabalhar com uma plataforma que passou décadas fazendo algo extremamente difícil:

evoluir sem obrigar o mundo inteiro a começar novamente do zero.

Itami provavelmente aprovaria.

Especialmente se a missão terminasse cedo o suficiente para ele voltar aos seus hobbies.

E o Bellacosa?

Provavelmente estaria no outro lado do GATE perguntando:

WHO CHANGED THIS FILE AT 03:17?

☕ Um Café no Bellacosa Mainframe

"Existem dois tipos de programadores z/OS: aqueles que já atravessaram o GATE para o USS... e aqueles que ainda estão procurando a opção dele no menu do ISPF."

quarta-feira, 6 de maio de 2009

🏛️ CATÁLOGO DO CPD DO SÉCULO PASSADO — O FERRO QUE MANTINHA A EMPRESA FUNCIONANDO

 

Bellacosa Mainframe e a configuração de um CPD no século passado

☕ Um Café no Bellacosa Mainframe

🏛️ CATÁLOGO DO CPD DO SÉCULO PASSADO — O FERRO QUE MANTINHA A EMPRESA FUNCIONANDO

Mainframes, canais, DASD, fitas, controladoras, 3270, telecomunicações, gateways, RISC/UNIX, Pentium, impressoras e redes — uma autópsia técnica de um CPD corporativo da primeira metade dos anos 1990.



🎬 PRÓLOGO — NÃO ERA UM COMPUTADOR. ERA UMA CIDADE

Quando encontramos uma configuração antiga dizendo:

128 MB de memória.

É fácil pensar:

"Meu telefone tem milhares de vezes isso!"

Mas seu telefone não estava processando uma organização inteira enquanto atendia terminais, movimentava dezenas de discos, executava batch, controlava telecomunicações e alimentava impressoras industriais.

O CPD era uma arquitetura composta.

Nosso exemplar arqueológico possui dois mainframes, aproximadamente 105 GB de DASD, dezenas de unidades de fita, dezenas de canais, controladoras especializadas, gateways, servidores RISC/UNIX, servidores de LAN, centenas de PCs e impressão industrial.

Vamos abrir o catálogo.



🧠 1 — FUJITSU FACOM M-380

Fabricante: Fujitsu
Modelo: FACOM M-380
Tipo: Mainframe
Capacidade instalada informada: 15 MIPS
Memória: 32 MB
Canais: 16
Uso: processamento corporativo, batch e I/O.

FACOM M-380
│
├── 15 MIPS
├── 32 MB RAM
└── 16 canais

MIPS significa Millions of Instructions Per Second, mas não é MHz e tampouco permite comparar diretamente arquiteturas diferentes.

MSU: não determinado. Não existe uma fórmula universal MIPS → MSU aplicável honestamente a qualquer equipamento.



🦖 2 — IBM 3090-300S

O monstro central

Fabricante: IBM
Modelo provável: 3090-300S
Tipo: Mainframe
CPUs: 3
Capacidade do inventário: ≈60 MIPS
Memória central: 128 MB
Expanded Storage: 256 MB
Canais: 64
Uso: processamento corporativo central, batch e on-line.

3090-300S
│
├── 3 CPUs
├── ≈ 60 MIPS
├── 128 MB central
├── 256 MB expanded
└── 64 canais

Os 64 canais talvez sejam mais reveladores que os 60 MIPS. A máquina foi projetada para movimentar enormes volumes de I/O sem transformar a CPU em carregadora de dados.

MSU: não é possível determinar com segurança apenas desses dados.



⚠️ MIPS, MSU, MHz, TPS E MB/s NÃO SÃO A MESMA COISA

MétricaMede principalmente
MHzfrequência
MIPSinstruções por segundo
MSUcapacidade/service units
TPStransações por segundo
MB/stransferência de dados
IOPSoperações de armazenamento

Disco não tem MIPS. Impressora não tem MSU. E um servidor RISC não deve ser comparado ao 3090 usando benchmarks incompatíveis.



💾 3 — IBM 3990-2

Fabricante: IBM
Modelo: 3990 Model 2
Tipo: Storage Control Unit
Adaptadores de canal: 8
Uso: intermediar mainframe e DASD.

MAINFRAME
    │
  CANAIS
    │
   3990
    │
 ┌──┼──┐
DASD DASD DASD

É por isso que dizer que um mainframe simplesmente "tinha HD" empobrece completamente a arquitetura.


💽 4 — IBM 3380-K

Fabricante: IBM
Modelo: 3380-K
Tipo: DASD
Quantidade: 24
Capacidade total: ≈45 GB
Média resultante: ≈1,875 GB por dispositivo
Uso: arquivos, datasets, bancos de dados e produção.

45 GB ÷ 24 ≈ 1,875 GB

Hoje parece pouco. Naquele período representava infraestrutura corporativa capaz de guardar milhões de registros.


🗄️ 5 — AMDAHL 6100

Fabricante: Amdahl
Modelo: 6100
Tipo: controladora de armazenamento
Cache: 64 MB
NVS: 4 MB
Uso: gerenciamento e aceleração do DASD.

Aqui encontramos conceitos absolutamente atuais:

HOST
 ↓
CACHE
 ↓
CONTROLADORA
 ↓
DISCO

O NVS — Non-Volatile Storage — ajudava a proteger operações de escrita. Cache, write-back, persistência e latência não nasceram com NVMe.


💽 6 — AMDAHL 6390

Fabricante: Amdahl
Modelo: 6390
Tipo: DASD
Quantidade: 32
Capacidade total: ≈60 GB
Média: ≈1,875 GB/unidade.

Somando os dois subsistemas:

45 GB + 60 GB ≈ 105 GB

Na primeira metade dos anos 1990, 105 GB de DASD eram patrimônio tecnológico.


📼 7 — IBM 3480 A22/B22

Fabricante: IBM
Modelo: 3480 A22/B22
Quantidade: 32 dispositivos
Tipo: cartucho magnético de 1/2"
Capacidade: 200 MB/cartucho
Densidade: ≈38.000 bpi
Transferência: ≈3 MB/s
Uso: backup, batch, transporte e arquivamento.

O 3480 trabalhava com cartuchos de 200 MB e aproximadamente 3 MB/s. A fita não era simplesmente backup esquecido numa gaveta: participava ativamente da produção.


🎞️ 8 — IBM 3803-002 + IBM 3420

Fabricante: IBM
Controladora: 3803 Model 2
Drives: 2 × 3420
Tipo: fita magnética de carretel
Uso: batch, arquivos sequenciais e intercâmbio.

O inventário não identifica o modelo específico dos 3420. Portanto, não podemos atribuir uma velocidade única. A família teve modelos e densidades diferentes, inclusive 1.600 e 6.250 bpi.

Quando a plaqueta arqueológica não existe, escrevemos:

desconhecido.

Não inventamos.


📡 9 — NCR COMTEN 5690

Fabricante: NCR/Comten
Modelo: 5690
Tipo: Communications Processor
Linhas: 160
Memória: 4 MB
Uso: processamento de telecomunicações.

Isso era praticamente um computador dedicado a retirar trabalho de comunicação do host.

HOST
 ↓
COMTEN
 ↓
160 linhas

Offload não é exatamente uma invenção moderna.


📡 10 — IBM 3745

O senhor da rede SNA

Fabricante: IBM
Modelo: 3745 Communication Controller
Linhas instaladas: 256
CPUs: 2
Memória: 8 MB/CPU
Uso: SNA, NCP, X.25 e telecomunicações.

MAINFRAME
    │
   VTAM
    │
  CHANNEL
    │
   3745
    │
   NCP
    │
SNA / X.25

Era efetivamente um computador de comunicação. A arquitetura suportava DMA e diferentes interfaces e velocidades; documentação histórica mostra linhas chegando a centenas de Kbps e configurações de maior velocidade.


🖥️ 11 — IBM 3274

Fabricante: IBM
Modelo: 3274
Tipo: Terminal Control Unit
Quantidade: 2
Capacidade: 32 terminais/unidade
Total: até 64 terminais nessa configuração.

HOST
 │
3274
 ├── 3270
 ├── 3270
 └── 3270...

A documentação confirma que modelos do 3274 podiam controlar até 32 displays/impressoras, coerente com o inventário.


🌐 12 — IBM 3172

A ponte entre duas eras

Fabricante: IBM
Modelo: 3172 Interconnect Controller
Tipo: gateway LAN-host
Memória registrada: 1 MB
Interfaces: Token Ring + Ethernet + canal de mainframe
Uso: SNA/TCP-IP e integração LAN-mainframe.

        MAINFRAME
            │
         CHANNEL
            │
           3172
          /    \
 Token Ring   Ethernet

É praticamente a fotografia da Internet chegando ao castelo.


🔀 13 — IBM 2914-4X8

Fabricante: IBM
Modelo: 2914-4X8
Tipo: Channel Switching Unit
Uso: chaveamento de caminhos de canal.

Não executava COBOL nem armazenava cadastro. Era o cruzamento rodoviário do reino.


🌐 14 — ROTEADORES CISCO

Quantidade: 3
Modelo: não informado
Uso: conexão com a Internet.

Sem modelo não podemos atribuir CPU, RAM ou throughput.

Mas sua presença significa que naquele CPD já conviviam:

SNA + X.25 + Token Ring + Ethernet + TCP/IP + Internet.


🖨️ 15 A 19 — A GRÁFICA DO CPD

EquipamentoQuantidadeVelocidadeInterface/uso
Xerox 4090190 ppmprodução
Xerox 3010-12510 ppm cadacoaxial
Xerox 3010-15310 ppm cadaRS-232C
Xerox 97901120 ppmprodução industrial
IBM 32031120 lpmimpacto/listagens

A 9790 teoricamente podia produzir:

120 × 60 = 7.200 páginas/hora

ou 57.600 páginas em oito horas contínuas.

Impressão era infraestrutura de produção.


🐧 20 — IBM RISC SYSTEM/6000 MODEL 580

UNIX entra pela porta da frente

Fabricante: IBM
Modelo: RISC System/6000 580
Quantidade: 4
Arquitetura: RISC
Sistema: AIX
Memória: 384 MB cada
Discos: ≈8, 12, 12 e provavelmente 18 GB
Storage externo: 12 GB
Mídia: DAT 4 mm e CD-ROM
Rede: Ethernet, Token Ring e X.25 conforme máquina
Uso: Internet, correio, laboratório, cliente/servidor e bancos de dados.

Não converta isso para MSU.

O inventário traz algo corrompido como:

15 7,2 TPS

provavelmente um benchmark apresentado como 157,2, mas sem identificar o benchmark não devemos transformá-lo em "157,2 transações de negócio por segundo".


🖥️ 21 A 23 — OS SERVIDORES PC

Pentium 90 / NetWare

CPU: 90 MHz
RAM: 32 MB
Discos: 2 × 2 GB
Total: 4 GB
DAT: 4 mm
CD-ROM: sim.

Pentium 60 / NetWare

CPU: 60 MHz
RAM: 24 MB
Discos: 2 × 2 GB
Total: 4 GB.

Pentium 60 / Windows NT

CPU: 60 MHz
RAM: 24 MB
Disco: 1,6 GB.

No mesmo prédio conviviam:

MVS
AIX
NetWare
Windows NT
DOS
OS/2

Era praticamente uma conferência diplomática de sistemas operacionais.


💻 24 A 26 — 486SX, 486DX E 486DX2

O 486SX atendia perfeitamente muitas tarefas administrativas, terminais e emulação 3270.

O 486DX acrescentava FPU integrada.

O DX2 popularizou a duplicação interna do clock em relação ao barramento.

A grande transformação, porém, não era MHz.

Era cultural:

poder computacional estava deixando o CPD e chegando à mesa do usuário.


🌐 27 A 30 — A INFRAESTRUTURA DE LAN

O inventário possuía 12 concentradores/hubs.

Somando as portas informadas:

9 × 16 = 144
+ 32
+ 60
+ 32
------
≈ 268 portas

Havia ainda 1 EtherSwitch para segmentação.

Um enlace de 700 metros de fibra óptica possuía meio físico preparado para 100 Mbps, embora a Ethernet utilizada então trafegasse a 10 Mbps.

Excelente lição ainda válida:

capacidade do meio físico ≠ throughput da aplicação.

Os servidores menores também utilizavam DAT 4 mm para backup, enquanto o universo mainframe empregava 3480/3420.


🏰 CATÁLOGO RESUMIDO DO REINO

EquipamentoTipoQtde.Especificação principal
FACOM M-380Mainframe115 MIPS, 32 MB, 16 canais
3090-300SMainframe1≈60 MIPS, 128 MB + 256 MB, 64 canais
3990-2Storage controller18 adaptadores de canal
3380-KDASD24≈45 GB total
6100Storage controller164 MB cache + 4 MB NVS
6390DASD32≈60 GB total
3480Cartucho32200 MB, ≈3 MB/s
3803-002Tape controller1controla 3420
3420Reel tape2modelo não especificado
COMTEN 5690Comunicações1160 linhas, 4 MB
3745Comunicações1256 linhas, 2 CPUs, 8 MB/CPU
3274Terminal controller232 terminais/unidade
3172Gateway1canal + Ethernet + Token Ring
RoteadoresRede3Internet
2914-4X8Channel switch1chaveamento
4090Laser190 ppm
3010-12Laser510 ppm
3010-15Laser310 ppm
9790Produção1120 ppm
3203Impacto1120 lpm
RS/6000 580RISC/UNIX4384 MB cada
Pentium 90LAN server190 MHz, 32 MB, 4 GB
Pentium 60LAN server160 MHz, 24 MB, 4 GB
Pentium 60NT server160 MHz, 24 MB, 1,6 GB
486/PentiumWorkstations≈180desktops
HubsLAN12≈268 portas brutas
EtherSwitchLAN1segmentação
FibraBackbone700 mmeio 100 Mbps; uso 10 Mbps

⚠️ QUANTOS MIPS TINHA O CPD?

O inventário permite dizer aproximadamente:

FACOM M-380    ≈ 15 MIPS
3090           ≈ 60 MIPS
------------------------
TOTAL NOMINAL  ≈ 75 MIPS

Mesmo essa soma deve ser tratada como aproximação, pois envolve implementações distintas.

Não some artificialmente RS/6000, Pentium, controladoras e outros dispositivos a esses 75 MIPS.

E jamais faça:

60 MIPS × constante mágica = MSU

Isso seria numerologia de datacenter.


🧬 TRÊS ERAS NO MESMO PRÉDIO

O catálogo revela algo maior que especificações.

Era centralizada

Mainframe
Canais
DASD
3270
SNA
Batch

Era dos sistemas abertos

RISC
UNIX
TCP/IP
Ethernet

Era cliente/servidor

486
Pentium
Windows
NetWare
LAN

E uma quarta revolução já batia à porta:

Internet.


☕ EPÍLOGO — 75 MIPS QUE CARREGAVAM UM MUNDO

Olhando de 2026, podemos rir de 32 MB, 128 MB, 1,9 GB, 10 Mbps e cartuchos de 200 MB.

Seria como olhar para uma locomotiva a vapor e dizer:

"Meu carro anda mais rápido."

Você perdeu o ponto.

A pergunta correta é:

O que aquela infraestrutura mantinha funcionando?

Milhões de registros, aplicações corporativas, processamento batch, transações on-line, bancos de dados, redes, impressão industrial, backups, terminais remotos, SNA, X.25, TCP/IP e finalmente Internet.

Quando alguma coisa quebrava às 03:17 da madrugada, não existia:

REDEPLOY CONTAINER

Existiam operador, analista, programador, especialista de rede, especialista de storage, console, telefone, manuais e provavelmente uma xícara de café.

Aqueles gabinetes não eram simplesmente computadores.

Eram a infraestrutura física do negócio.

O hardware envelhece; a responsabilidade de manter o mundo funcionando não.

☕ Um Café no Bellacosa Mainframe

Onde 128 MB podiam governar um reino, 105 GB eram uma fortuna e 60 MIPS carregavam uma organização inteira nas costas.


segunda-feira, 16 de março de 2009

🏛️ O CPD DO SÉCULO PASSADO — QUANDO 128 MB ERAM UM REINO E 100 GB EXIGIAM UMA CATEDRAL



☕ Um Café no Bellacosa Mainframe

🏛️ O CPD DO SÉCULO PASSADO — QUANDO 128 MB ERAM UM REINO E 100 GB EXIGIAM UMA CATEDRAL

Mainframe, MVS, JES2, CICS, COBOL, DASD, canais, fitas, SNA, VTAM, UNIX, terminais 3270, impressoras, processamento batch — e uma viagem ao tempo em que computação corporativa não cabia no bolso: ocupava uma sala inteira.



🎬 PRÓLOGO — ABRA A PORTA DO CPD

Imagine que estamos em algum momento da primeira metade da década de 1990.

Não existe Wi-Fi.

Não existe smartphone.

Não existe nuvem pública.

Não existe Kubernetes.

Não existe GitHub.

Não existe Slack.

A Internet comercial ainda começa a mostrar as garras.

Você trabalha numa grande organização e precisa consultar milhares ou milhões de registros de clientes, contribuintes, pagamentos, contas ou contratos.

Onde estão esses dados?

Atrás de uma porta.

Provavelmente uma porta que você não tem autorização para abrir.

Do outro lado existe o CPD — Centro de Processamento de Dados.

Entre.

A primeira coisa que chama atenção não é uma tela.

É o ambiente.

Ar-condicionado trabalhando continuamente. Piso elevado. Armários enormes. Cabos desaparecendo sob o chão. Unidades de disco. Controladoras. Fitas magnéticas. Impressoras capazes de transformar caixas inteiras de papel em relatórios.

No centro dessa pequena cidade eletrônica encontra-se o mainframe.

Mas cometeríamos um grande erro histórico se imaginássemos o CPD apenas como "um computador grande".

O CPD era um ecossistema.

E compreender esse ecossistema ajuda a entender muito do que fazemos até hoje.



🏰 CAPÍTULO 1 — O COMPUTADOR NÃO ERA UMA CAIXA

Hoje compramos um notebook e dentro dele encontramos:

  • CPU;

  • memória;

  • armazenamento;

  • rede;

  • vídeo;

  • USB;

  • Wi-Fi;

  • Bluetooth;

  • sistema operacional.

Isso cria uma ilusão perigosa quando olhamos para computadores antigos.

Pensamos:

"Nossa! Só 128 MB de memória?"

A comparação é injusta.

Um grande computador corporativo daquele período podia possuir dezenas de canais de entrada e saída ligados a equipamentos especializados.

O processador não precisava fazer sozinho tudo aquilo que um microcomputador fazia.

Existiam processadores e controladoras especializados em movimentar dados.

Havia controladora de discos.

Controladora de fitas.

Controladora de comunicação.

Controladora de terminais.

Interfaces de canais.

Equipamentos especializados em redes.

Portanto, uma configuração poderia ter algo como:

CPU
 |
 +---- canais ---- controladora ---- discos
 |
 +---- canais ---- controladora ---- cartuchos
 |
 +---- canais ---- telecomunicações ---- terminais
 |
 +---- canais ---- impressão
 |
 +---- canais ---- gateway ---- rede local

A CPU era apenas uma parte da máquina.

Essa distinção é fundamental.



🚚 CAPÍTULO 2 — CANAIS: A LOGÍSTICA DO REINO

Um iniciante em mainframe pode encontrar referências a sistemas antigos possuindo:

16 canais.

Ou:

64 canais.

E perguntar:

"Canal de quê?"

Imagine um grande porto.

O presidente da autoridade portuária não pega cada contêiner, coloca num caminhão e dirige até o depósito.

Existe infraestrutura especializada para movimentar mercadorias.

O mesmo princípio era aplicado ao computador.

O processador precisava calcular.

O subsistema de entrada e saída precisava transportar dados.

Os canais permitiam que operações de I/O fossem delegadas à infraestrutura especializada.

Enquanto determinada quantidade de informação estava sendo movimentada entre disco e memória, o processador poderia continuar executando outras atividades.

Essa filosofia sobrevive no mainframe moderno.

Por isso comparar apenas:

MHz
RAM
GB

entre um PC e um mainframe quase nunca conta a história completa.

A arquitetura importa.



💾 CAPÍTULO 3 — QUANDO 100 GB ERAM UMA FORTUNA

Agora chegamos ao armazenamento.

Imagine aproximadamente:

24 discos totalizando cerca de 45 GB.

Outro conjunto:

32 discos totalizando aproximadamente 60 GB.

Somados:

aproximadamente 105 GB.

Seu telefone provavelmente olha para isso e começa a rir.

Não ria ainda.

Estamos falando de uma época em que discos eram equipamentos enormes, caros e administrados como infraestrutura corporativa.

E aqueles 100 GB não estavam cheios de selfies.

Ali poderiam morar:

  • cadastro de clientes;

  • movimentações financeiras;

  • folha de pagamento;

  • registros administrativos;

  • impostos;

  • contas;

  • estoque;

  • contratos;

  • históricos;

  • programas;

  • arquivos VSAM;

  • bancos de dados;

  • arquivos sequenciais.

A pergunta interessante não é:

"Quantos gigabytes havia?"

A pergunta correta é:

"Quantas transações de negócio aqueles gigabytes sustentavam?"

Essa mudança de perspectiva é importantíssima.

Um único registro COBOL pode possuir algumas centenas de bytes.

Faça a conta.

Um gigabyte pode representar milhões de registros.



🗄️ CAPÍTULO 4 — DASD NÃO ERA "O HD"

No mundo mainframe, você encontrará frequentemente a palavra:

DASD — Direct Access Storage Device.

Para um iniciante, é tentador traduzir mentalmente:

"Ah, HD."

Serve como aproximação inicial.

Mas existe uma infraestrutura inteira por trás.

Você poderia encontrar:

MAINFRAME
   |
 CHANNEL
   |
CONTROLADORA
   |
   +---- DASD
   +---- DASD
   +---- DASD
   +---- DASD

A controladora podia possuir cache.

E aqui encontramos algo extremamente moderno escondido em tecnologia antiga.

Imagine uma controladora com dezenas de megabytes de cache e armazenamento não volátil destinado a proteger operações de escrita.

Reconheceu o conceito?

Décadas depois continuamos discutindo:

  • cache;

  • buffering;

  • persistência;

  • write-back;

  • latência;

  • disponibilidade.

As implementações mudam.

Os problemas fundamentais permanecem.


📼 CAPÍTULO 5 — A FITA ERA PARTE DA PRODUÇÃO

Agora chegamos a um equipamento que jovens programadores normalmente conhecem apenas de filmes:

fita magnética.

Em um CPD você poderia encontrar unidades antigas de carretel e também cartuchos muito mais compactos.

As fitas podiam participar de:

  • backup;

  • arquivamento;

  • intercâmbio de dados;

  • processamento batch;

  • retenção histórica;

  • recuperação de informações.

E havia uma diferença fundamental.

O disco oferece acesso direto.

A fita é essencialmente sequencial.

Imagine procurar o capítulo 57 de um livro.

No disco:

abra aproximadamente onde está o capítulo.

Na fita:

percorra o caminho até chegar nele.

Isso influencia profundamente a programação.

Não é coincidência que COBOL seja tão confortável trabalhando com arquivos sequenciais.


📚 CAPÍTULO 6 — NASCE UMA CULTURA DE PROCESSAMENTO

Agora imagine que durante o dia milhares de usuários estão trabalhando.

Consultando.

Incluindo registros.

Alterando informações.

Executando transações.

Quando chega a noite, começa outro mundo.

O batch.

Jobs entram nas filas.

Arquivos são lidos.

Arquivos são classificados.

Bases são atualizadas.

Relatórios são produzidos.

Backups são realizados.

Conciliações são executadas.

Fechamentos começam.

O CPD muda de personalidade.

Durante o dia:

usuário
   ↓
terminal
   ↓
transação
   ↓
programa
   ↓
dados

Durante a madrugada:

JOB
 ↓
STEP
 ↓
PROGRAM
 ↓
ARQUIVO
 ↓
SORT
 ↓
NOVO ARQUIVO
 ↓
RELATÓRIO

É por isso que JCL tornou-se tão importante.

JCL não era simplesmente uma linguagem esquisita inventada para atormentar estudantes.

Era a descrição operacional do trabalho.


🚂 CAPÍTULO 7 — JES2: A ESTAÇÃO FERROVIÁRIA

Imagine centenas de jobs chegando ao sistema.

Alguém precisa organizar isso.

Entrada.

Fila.

Execução.

Saída.

Spool.

Impressão.

É aqui que podemos imaginar o JES2 como uma gigantesca estação ferroviária.

Os jobs chegam.

São classificados.

Esperam recursos.

Executam.

Produzem saída.

Um programa COBOL não existia isoladamente.

Ele fazia parte de uma cadeia operacional.

JOB
 |
 +-- STEP01
 |      programa A
 |
 +-- STEP02
 |      SORT
 |
 +-- STEP03
 |      programa B
 |
 +-- STEP04
        relatório

Um erro no STEP02 poderia impedir tudo que viesse depois.

Por isso o programador aprendia rapidamente coisas como:

COND
DISP
DD
DSN
SYSOUT

Não porque alguém gostasse de siglas.

Mas porque elas representavam a infraestrutura da fábrica.


⚙️ CAPÍTULO 8 — MVS: O PREFEITO DA CIDADE

No centro dessa operação estava o sistema operacional.

Na geração que estamos visitando, poderíamos encontrar MVS/XA.

E o XA é historicamente importante.

A geração anterior trabalhava com endereçamento de 24 bits e espaço de endereço de até 16 MB.

A arquitetura XA ampliou o endereçamento para 31 bits, levando o espaço virtual para até 2 GB.

Mais importante ainda: preservou compatibilidade com aplicações antigas.

Esse princípio de compatibilidade tornou-se uma das características mais impressionantes da evolução do mainframe.

O programa antigo não precisava necessariamente ser jogado fora apenas porque a arquitetura evoluiu.

Havia:

AMODE 24

e:

AMODE 31

O passado e o presente conviviam.

Décadas depois, a arquitetura chegaria aos 64 bits mantendo mecanismos para executar software anterior.

É uma das razões pelas quais existem programas corporativos com décadas de existência ainda em produção.


👨‍💻 CAPÍTULO 9 — O PROGRAMADOR ENTRA NO TERMINAL

Você é programador.

Não existe Visual Studio Code.

Não existe monitor ultrawide.

Não existe Stack Overflow.

Você chega ao terminal.

Provavelmente encontra um ambiente 3270.

A tela pode ter:

24 linhas
x
80 colunas

E aquelas 80 colunas não são detalhe decorativo.

Elas carregam décadas de história da computação.

Você entra no ambiente interativo.

Abre o editor.

Edita COBOL.

Edita JCL.

Consulta datasets.

Submete o job.

Espera.

Consulta a saída.

Encontra:

MAXCC=0008

E começa a investigação.


🧙 CAPÍTULO 10 — COBOL ERA UMA PEÇA DA ENGRENAGEM

Este é um erro comum de quem começa:

"Mainframe é COBOL."

Não.

COBOL era uma das linguagens utilizadas naquele ecossistema.

Você poderia encontrar:

  • COBOL;

  • Assembler;

  • Natural;

  • Pascal;

  • utilitários;

  • linguagens de controle;

  • ferramentas de automação.

COBOL tornou-se extremamente importante porque encaixava muito bem no processamento comercial.

Cadastro.

Arquivo.

Registro.

Movimentação.

Totalização.

Relatório.

Validação.

Imagine:

READ CLIENTES

Depois:

IF SALDO < 0

Depois:

WRITE RELATORIO

Parece simples.

Agora execute isso sobre milhões de registros, diariamente, durante anos, com regras de negócio que não podem desaparecer.

Aí começa a engenharia de verdade.


🏪 CAPÍTULO 11 — CICS: A LOJA ABERTA

Batch resolve muita coisa.

Mas imagine alguém atendendo uma pessoa no balcão.

Ela não pode dizer:

"Ótimo. Colocarei sua consulta no batch desta noite. Volte amanhã."

Precisamos de processamento on-line.

Entra o monitor de transações.

Terminal solicita uma operação.

A transação é identificada.

Um programa é acionado.

Os dados são consultados.

A resposta retorna.

Algo como:

3270
  ↓
VTAM
  ↓
CICS
  ↓
TRANSACTION
  ↓
COBOL
  ↓
DATABASE / VSAM

Esse desenho é ancestral direto de muita arquitetura que hoje descrevemos utilizando termos como:

client
API gateway
service
database

Mudaram os nomes.

A necessidade continua reconhecível.


📡 CAPÍTULO 12 — ANTES DA INTERNET HAVIA UMA REDE INTEIRA

Outro erro histórico é imaginar:

"Antes da Internet os computadores não estavam conectados."

Estavam.

E muito.

Só que através de outras arquiteturas.

Um CPD poderia possuir centenas de linhas de comunicação.

Controladoras especializadas.

Terminais remotos.

Redes SNA.

X.25.

Token Ring.

Ethernet.

No mundo mainframe, VTAM desempenhava papel fundamental na comunicação.

Outros componentes cuidavam fisicamente e logicamente da rede.

Um terminal a centenas de quilômetros poderia estar conversando com uma aplicação central.

Portanto, processamento distribuído não nasceu com a Web.

O que a Internet fez foi transformar profundamente como redes diferentes se interconectavam.


🌐 CAPÍTULO 13 — E ENTÃO CHEGOU O TCP/IP

Em algum canto do CPD surge algo aparentemente pequeno:

TCP/IP

Hoje isso parece banal.

Naquele momento era uma revolução.

O CPD originalmente construído ao redor de redes corporativas proprietárias começava a conversar com o universo TCP/IP.

A arquitetura começou a ganhar pontes:

MAINFRAME
    |
  CHANNEL
    |
 GATEWAY
   / \
Ethernet
Token Ring

E depois:

LAN
 |
ROUTER
 |
INTERNET

É possível praticamente assistir à Internet entrando no datacenter.


🐧 CAPÍTULO 14 — UNIX CHEGA AO REINO

Em outra sala aparecem máquinas RISC executando UNIX.

Agora o discurso corporativo muda.

Palavras começam a aparecer:

downsizing.

cliente/servidor.

sistemas abertos.

processamento distribuído.

Alguns começam a profetizar:

"O mainframe acabou."

Spoiler vindo do século XXI:

não acabou.

Mas a mudança foi real.

UNIX trouxe um novo universo de desenvolvimento e administração.

Servidores poderiam executar:

  • correio eletrônico;

  • Web;

  • bancos relacionais;

  • serviços de rede;

  • ferramentas de desenvolvimento;

  • gateways.

Sistemas UNIX da época já ofereciam conceitos sofisticados como JFS, gerenciamento lógico de volumes, ferramentas centralizadas de administração e mecanismos de backup do sistema.

Agora tínhamos:

MAINFRAME
     ↕
    SNA
     ↕
   UNIX
     ↕
 TCP/IP
     ↕
    LAN

A palavra mágica passou a ser:

integração.


🖥️ CAPÍTULO 15 — O PC INVADE O CPD

Enquanto isso, outra revolução ocorre nas mesas.


Pentium.

DOS.

Windows.

OS/2.

NetWare.

Windows NT.

As aplicações começam a ganhar interfaces gráficas.

Planilhas eletrônicas.

Processadores de texto.

Bancos locais.

Ferramentas de desenho.

Gerenciamento de projetos.

O usuário começa a possuir poder computacional próprio.

Isso muda profundamente a relação entre usuário e CPD.

Antes:

"Preciso que o CPD faça."

Agora:

"Talvez eu consiga fazer aqui."

Nascia também um problema que conhecemos muito bem:

Shadow IT.

A planilha que vira sistema.

O banco local que vira cadastro oficial.

O script que ninguém documentou.

Nada realmente novo sob o Sol.


🔌 CAPÍTULO 16 — HUBS, SWITCHES E O ESPAGUETE

Imagine agora centenas de estações.

Cabos.

Patch panels.

Hubs.

Ethernet.

Token Ring.

Fibra óptica entre prédios.

Servidores.

Gateways.

Mainframe.

UNIX.

PC.

SNA.

TCP/IP.

X.25.

Essa é a origem do termo que aparecia cada vez mais:

ambiente heterogêneo.

O problema deixou de ser:

"Como fazer o computador funcionar?"

Passou a ser:

"Como fazer todos esses computadores conversarem?"

Reconheceu?

Em 2026 dizemos:

  • híbrido;

  • multicloud;

  • APIs;

  • eventos;

  • containers;

  • SaaS;

  • integração.

Mudaram as peças.

O problema continua familiar.


🖨️ CAPÍTULO 17 — A IMPRESSORA ERA UM MONSTRO

Há outra coisa difícil de explicar para quem cresceu no mundo digital.

Impressão era infraestrutura crítica.

Um CPD poderia possuir impressoras produzindo:

90 páginas por minuto.

Ou:

120 páginas por minuto.

E equipamentos de impacto medidos em linhas por minuto.

Por quê?

Porque muita informação terminava fisicamente em papel.

Folhas de pagamento.

Extratos.

Listagens.

Relatórios.

Faturas.

Documentos administrativos.

Formulários.

Uma aplicação não terminava necessariamente quando:

STOP RUN.

Ela poderia terminar quando 20 mil páginas estivessem impressas corretamente.


👷 CAPÍTULO 18 — O CPD ERA CHEIO DE GENTE

Agora retire as máquinas da fotografia.

Observe as pessoas.

Operadores.

Programadores.

Analistas.

Administradores de banco.

Especialistas de rede.

Suporte.

Produção.

Planejamento.

Segurança.

Armazenamento.

Telecomunicações.

Operadores de fita.

Técnicos.

O CPD não funcionava sozinho.

Havia procedimentos.

Checklists.

Janelas.

Escalas.

Passagem de turno.

Incidentes.

Autorizações.

O operador conhecia o comportamento da máquina.

Às vezes conseguia perceber que algo estava errado antes mesmo de o monitoramento emitir um diagnóstico conclusivo.

Uma fita demorou demais.

Um job normalmente terminava às 02:15 e eram 02:40.

A fila cresceu.

A impressora parou.

Uma aplicação começou a responder lentamente.

Isso era observabilidade humana.


🚨 CAPÍTULO 19 — 03:17

São 03:17 da madrugada.

Nosso tradicional easter egg apareceu.

O processamento de fechamento deveria estar terminando.

Mas um job está parado.

O operador olha a console.

Descobre que um dataset necessário não está disponível.

O próximo job depende daquele.

E outro depende do próximo.

Agora temos:

JOB A
  ↓
JOB B
  ↓
JOB C
  ↓
JOB D
  ↓
RELATÓRIOS

A falha de A ameaça toda a cadeia.

O telefone toca.

Produção chama suporte.

Suporte chama o analista.

O analista acorda.

Abre o terminal.

Investiga.

Quarenta anos depois chamaremos isso de:

incident response.

Naquela madrugada provavelmente chamavam de:

"A produção parou."


🧠 CAPÍTULO 20 — POR QUE AQUILO ERA TÃO CONFIÁVEL?

Não era magia.

Era engenharia somada a disciplina operacional.

O ambiente possuía ferramentas para:

  • monitorar desempenho;

  • registrar erros;

  • controlar software;

  • administrar armazenamento;

  • gerenciar fitas;

  • acompanhar rede;

  • instalar manutenção;

  • analisar recursos.

Performance não era uma sensação.

Era medida.

CPU.

I/O.

Paginação.

Filas.

Discos.

Rede.

Tempo de resposta.

Throughput.

O ancestral de muito dashboard moderno já existia.

Só não tinha necessariamente gráfico colorido com fundo escuro.


🧬 CAPÍTULO 21 — O SEGREDO ERA A COMPATIBILIDADE

Existe uma lição particularmente importante.

Tecnologia corporativa não pode simplesmente acordar na segunda-feira e dizer:

"Resolvi reinventar tudo."

Existem dados.

Programas.

Interfaces.

Usuários.

Processos.

Auditoria.

Legislação.

Histórico.

Um programa criado para endereçamento de 24 bits podia continuar existindo quando a arquitetura evoluiu para 31 bits. Posteriormente, a evolução para 64 bits continuaria preservando mecanismos de compatibilidade.

Isso produz uma consequência curiosa:

software pode viver mais que hardware.

A CPU desaparece.

O disco desaparece.

A fita muda.

A rede muda.

O prédio muda.

Mas determinada regra COBOL continua existindo.

Porque a regra:

IF CLIENTE-ATIVO
   AND SALDO > LIMITE

não pertence ao computador.

Pertence ao negócio.


🏺 CAPÍTULO 22 — NÃO ERA TECNOLOGIA PRIMITIVA

Talvez esta seja a conclusão mais importante.

É fácil olhar para:

32 MB
128 MB
200 MB por cartucho
10 Mbps

e rir.

Mas isso é presentismo tecnológico.

Estamos comparando números sem comparar problemas.

Aqueles sistemas já precisavam resolver:

  • concorrência;

  • segurança;

  • recuperação;

  • consistência;

  • disponibilidade;

  • armazenamento;

  • comunicação;

  • processamento distribuído;

  • monitoramento;

  • capacidade;

  • backup;

  • disaster recovery;

  • integração.

São exatamente problemas que continuamos resolvendo.


☁️ CAPÍTULO 23 — O CPD NÃO MORREU: ELE FICOU INVISÍVEL

Hoje alguém abre o navegador e escreve:

https://...

Não vê o datacenter.

Não vê o disco.

Não vê a controladora.

Não vê o roteador.

Não vê o balanceador.

Não vê a fila.

Não vê o storage.

Não vê a replicação.

Não vê o backup.

Chamamos isso de:

cloud.

Mas a nuvem continua sendo feita de computadores.

O que mudou dramaticamente foi o nível de abstração.

No CPD antigo você enxergava a infraestrutura.

Hoje frequentemente enxergamos apenas:

service
database
queue
bucket
function
container
API

Alguém, em algum lugar, ainda precisa transformar isso em CPU, memória, rede e armazenamento.


🧙 CAPÍTULO 24 — O QUE O PROGRAMADOR COBOL INICIANTE DEVE APRENDER COM ISSO?

Primeiro:

COBOL nunca esteve sozinho.

Aprender COBOL sem compreender o ecossistema produz um programador limitado.

Entenda:

COBOL
JCL
JES
CICS
datasets
VSAM
banco de dados
storage
rede
segurança
monitoramento

Segundo:

aprenda o fluxo, não apenas a sintaxe.

Pergunte:

De onde vêm os dados?

Quem chama meu programa?

Quem cria o arquivo?

Quem consome minha saída?

O que acontece se eu retornar erro?

Existe restart?

Existe rollback?

Existe dependência?

Terceiro:

respeite o legado.

Legado não significa automaticamente ruim.

Significa:

algo que chegou até você vindo do passado.

Algumas coisas chegaram porque ninguém teve coragem de mexer.

Outras chegaram porque funcionam extraordinariamente bem.

Sua obrigação como engenheiro é descobrir qual das duas situações está diante de você.


🏁 EPÍLOGO — A CATEDRAL

Imagine novamente aquela sala.

Mainframe trabalhando.

Discos girando.

Cartuchos esperando.

Terminais verdes.

Impressoras rugindo.

Luzes piscando.

Operadores acompanhando consoles.

Programadores submetendo jobs.

Redes SNA atravessando quilômetros.

UNIX chegando.

Ethernet crescendo.

TCP/IP aparecendo.

PCs invadindo as mesas.

Internet batendo à porta.

Não estamos olhando para um monte de ferro velho.

Estamos olhando para uma catedral tecnológica construída por milhares de pessoas que resolveram problemas antes de nós.

Cada geração colocou uma pedra.

O operador.

O programador COBOL.

O especialista em Assembler.

O administrador do banco.

O analista de comunicação.

O técnico das fitas.

O administrador UNIX.

O sujeito que passou cabos pelo prédio.

O analista que ficou acordado às 03:17 porque o fechamento não terminou.

Talvez seus nomes tenham desaparecido.

Mas parte do pensamento que construíram permanece.

Quando você escreve uma API resiliente, pensa em idempotência, monitora uma fila, dimensiona storage, configura backup, analisa throughput ou investiga uma transação que desapareceu entre dois sistemas, está enfrentando descendentes dos mesmos problemas.

Por isso estudar um CPD do século passado não é nostalgia.

É estudar arqueologia da Engenharia de Software e da infraestrutura.

Porque os gabinetes mudaram.

Os discos encolheram.

A memória cresceu.

A fita virou cartucho, depois biblioteca robotizada.

SNA dividiu espaço com TCP/IP.

O terminal virou navegador.

O CPD virou datacenter.

O datacenter ganhou uma camada de abstração e passou a ser chamado de cloud.

Mas lá no fundo continuam existindo três perguntas que atravessaram toda a história da computação corporativa:

Onde estão meus dados?

Quem está processando meu trabalho?

E o que acontece quando alguma coisa falha às 03:17 da madrugada?

☕ Um Café no Bellacosa Mainframe

Porque antes de existir a nuvem havia uma sala gelada — e dentro dela pessoas construindo o futuro byte por byte.

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...