| Bellacosa Mainframe em uma viagem ao Addressability do z/os |
🔥 SEU PROGRAMA NÃO “ENXERGA” MEMÓRIA… ELE NEGOCIA COM O z/OS 😳
O guia proibido da Addressability que separa dev COBOL de engenheiro de sistema
Você acha que seu COBOL acessa memória direto?
👉 Não acessa.
No mainframe, nada é direto.
Tudo passa por:
- tradução
- autorização
- tabelas
- registradores
- controle do sistema
Se você não entende isso…
👉 você nunca vai dominar dump, performance ou abend 💀
🧠 O QUE É ADDRESSABILITY (SEM ENROLAR)
Addressability é:
a capacidade de um programa acessar dados — onde quer que eles estejam
💡 Tradução Bellacosa
“Addressability é o GPS + chave + autorização da memória.”
⚙️ 1. DISPATCHING WORK — ONDE TUDO COMEÇA
Quando sua task roda:
- dispatcher escolhe
- CPU assume
- CR1 é carregado
👉 CR1 aponta para o address space ativo
🔥 Insight
CR1 define “qual mundo você está enxergando”
🌍 2. VIRTUAL STORAGE — O UNIVERSO NÃO É REAL
Cada usuário tem:
👉 seu próprio universo de memória
🔹 Características:
- até 16 exabytes 😳
- isolado
- protegido
💡 História
MVS = Multiple Virtual Storage
👉 desde os anos 70 já fazia isso
🧨 Easter Egg
Você acha que está acessando memória real…
👉 está acessando endereço virtual traduzido
🧩 3. ADDRESS SPACE — SUA “BOLHA”
Tudo roda dentro de:
👉 um address space
🔹 Tipos:
- Batch
- TSO
- Started Task
💡 Insight
cada programa vive isolado
🔗 4. CROSS MEMORY — QUEBRANDO A BOLHA
Mas… o sistema permite sair dela.
🔹 O que é?
Acessar outro address space
🔥 Exemplo real
COBOL → chama serviço → DB2 → retorna
👉 são address spaces diferentes
💡 Estados:
- Home → origem
- Primary → execução
- Secondary → dados
🧨 Curiosidade
Se são diferentes:
👉 você está em cross-memory mode
🚀 5. PROGRAM CALL (PC) — O TELEPORTE DO z/OS
🔹 O que faz?
- troca de address space
- mantém controle
- permite retorno
🔥 Fluxo real
User → LLA → VLF → módulo → volta
👉 tudo invisível
💡 Tradução
PC é um “portal controlado”
🧱 6. LINKAGE STACK — A MEMÓRIA DA EXECUÇÃO
Sempre que um programa chama outro:
👉 estado é salvo automaticamente
🔹 Salva:
- registradores
- PSW
- access registers
💡 Vantagens
- menos erro
- suporte a reentrância
- debug mais limpo
🧨 Curiosidade
Substitui os antigos save areas
⚙️ 7. ACCESS REGISTERS — O PODER ESCONDIDO
🔹 O que são?
- 16 registradores
- permitem acessar outros espaços
🔥 Funcionamento
AR → qual espaço
GR → qual dado
💡 Tradução Bellacosa
AR = endereço do universo
GR = endereço dentro do universo
🧠 8. ACCESS LIST / ALET / ALE — CONTROLE DE ACESSO
Nada é livre.
🔹 Processo:
- obter S-token
- ALESERV
- criar ALE
- gerar ALET
- carregar AR
💡 Insight
acesso exige autorização formal
🧨 Curiosidade
Sem isso:
👉 proteção de memória bloqueia acesso
⚡ 9. ADDRESSABILITY MODES
🔹 AMODE
- 24-bit
- 31-bit
- 64-bit
🔹 RMODE
- onde o programa carrega
💡 História
Compatibilidade com décadas de software
🔄 10. PASSO A PASSO COMPLETO
Task é despachada
↓
CR1 define address space
↓
Programa executa
↓
Se precisar:
→ PC (outro space)
→ AR (outro data space)
↓
Linkage stack salva estado
↓
Retorno
💀 ONDE ISSO APARECE NA VIDA REAL?
🔥 Dump (IPCS)
Você vê:
- PSW
- registers
- ARs
- linkage stack
🔥 Abend clássico
👉 S0C4 = erro de addressability
🔥 Performance
- cross memory custa
- LPA melhora
🧨 CURIOSIDADES (NÍVEL JEDI)
🤯 1. Um programa pode acessar vários universos ao mesmo tempo
🔥 2. Memória é totalmente virtual
💀 3. Um erro de ponteiro quebra tudo (S0C4)
🧠 4. O sistema controla TUDO via tabelas
🎯 RESUMO FINAL
✔ Addressability = acesso controlado
✔ Address space = isolamento
✔ Cross memory = comunicação
✔ PC = chamada entre espaços
✔ AR = acesso avançado
✔ Linkage stack = estado
💥 FRASE FINAL
“No mainframe, memória não é um lugar… é um privilégio concedido pelo sistema.”
Sem comentários:
Enviar um comentário