Translate

Mostrar mensagens com a etiqueta linkage stack. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta linkage stack. Mostrar todas as mensagens

domingo, 8 de fevereiro de 2026

🔥 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

 

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:

  1. obter S-token
  2. ALESERV
  3. criar ALE
  4. gerar ALET
  5. 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.”