Translate

Mostrar mensagens com a etiqueta dump. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta dump. 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.”

 

domingo, 14 de dezembro de 2025

Review: 🔍 COBOL Mainframe e o Código Legado: sobreviver, entender e não quebrar produção

 

Analisando dump em listagem de código mainframe cobol

🔍 COBOL Mainframe e o Código Legado: sobreviver, entender e não quebrar produção


#ibm #mainframe #cobol #refatorar #abend #bug #anomalia






https://eljefemidnightlunch.blogspot.com/2021/08/cobol-mainframe-e-o-codigo-legado.html

segunda-feira, 7 de março de 2022

😈🔥 Lendo um outage cloud como se fosse dump de produção

 


😈🔥 Lendo um outage cloud como se fosse dump de produção


Conhecimento básico sobre aplicações distribuídas para quem já encarou SYSUDUMP às 03:00



☕ 03:07 — Tudo verde… até não estar mais

No cloud, outage começa assim:

  • Nada “quebra”

  • Nada “cai”

  • Tudo só fica estranho

No mainframe, isso tem nome:

pré-abend

Este artigo é um manual de leitura forense, para analisar um outage cloud com a mesma frieza com que se lê um dump de produção.


1️⃣ Contexto histórico: do SYSUDUMP ao dashboard vermelho 🧬

No z/OS:

  • Dump é fotografia do crime

  • O sistema não mente

  • A causa está lá, escondida

No cloud:

  • O dump foi dividido em:

    • métricas

    • logs

    • traces

📌 Comentário Bellacosa:
O erro não ficou mais difícil.
Só ficou espalhado.


2️⃣ Regra de ouro: nunca comece pelo erro final 🚫

Erro final no cloud é como:

  • S0C7 no COBOL

  • SOC1 sem stack

🔥 Tradução:
É consequência, não causa.

😈 Easter egg:
Quem começa pelo stacktrace termina em teoria.


3️⃣ O “dump cloud”: o que equivale a quê 🗂️

MainframeCloud / InstanaFunção
SYSUDUMPTrace completoContexto da execução
SMFTraces + MetricsSequência e consumo
RMFMétricasCapacidade e gargalo
JESLogs correlacionadosOrdem e ambiente
Abend CodeIncidentSintoma visível
ProgramServiceUnidade de falha

📌 Tradução prática:
Você já sabe ler isso. Só mudou o formato.


4️⃣ Passo a passo: leitura de outage como dump 🔍

4.1 — Ache a primeira transação estranha

  • Mais lenta

  • Timeout

  • Erro intermitente

👉 Equivalente ao primeiro campo inválido no dump.


4.2 — Siga o trace como CALL STACK

  • Quem chamou quem

  • Em que ordem

  • Onde parou

😈 Easter egg:
Stack distribuído é CALL TRACE com latência.


4.3 — Correlacione com métricas (RMF feelings) 📊

  • CPU alta?

  • GC?

  • I/O?

  • Saturação?

🔥 Comentário Bellacosa:
Se está lento, alguém está esperando.


4.4 — Observe dependências externas 🌐

  • Banco

  • Fila

  • API terceira

👉 Equivalente ao dataset indisponível no batch.


4.5 — Ignore o barulho 🧹

  • Erros cascata

  • Alertas repetidos

  • Logs genéricos

📌 Mantra:
O erro mais alto não é o primeiro.


5️⃣ Curiosidades que só mainframer percebe 😈

  • Cloud falha “educadamente”

  • Não grita

  • Não para

  • Cobra depois

🔥 Comentário ácido:
Falha silenciosa é mais cara que abend.


6️⃣ Erros clássicos de leitura (não caia neles) ⚠️

❌ Confiar no último erro
❌ Olhar só logs
❌ Ignorar latência
❌ Tratar sintoma como causa
❌ Reagir antes de entender

😈 Easter egg:
Reboot é o novo IPL… e o mais preguiçoso.


7️⃣ Guia mental: perguntas de mainframer 🧠

  • Quando começou?

  • O que mudou?

  • Qual transação foi afetada primeiro?

  • Onde o tempo foi gasto?

  • Quem depende de quem?

  • O que aconteceria se isso falhasse antes?

📌 Tradução:
Perguntas que salvam madrugada.


8️⃣ Guia de estudo prático 📚

Conceitos

  • Observabilidade

  • Falha parcial

  • Resiliência

  • SRE

  • Dependency management

Exercício

👉 Pegue um incidente real
👉 Monte a linha do tempo
👉 Escreva como se fosse post-mortem de batch


🎯 Aplicações reais dessa leitura

  • Diagnóstico rápido

  • Redução de MTTR

  • Comunicação clara com times cloud

  • Governança técnica

  • Auditoria pós-incidente


🖤 Epílogo — 04:01, tudo voltou (por enquanto)

Cloud não é caótica.
Ela só não te dá um dump pronto.

El Jefe Midnight Lunch assina:
“Quando você lê um outage cloud como dump, o pânico vira diagnóstico.”