Translate

Mostrar mensagens com a etiqueta memória virtual. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta memória virtual. Mostrar todas as mensagens

terça-feira, 31 de março de 2026

🔥 SEUS DADOS NÃO MORAM NO DISCO… ELES VIAJAM PELO UNIVERSO DO z/OS 😳

 

Bellacosa Mainframe num mergulho no mundo storage do z/os

🔥 SEUS DADOS NÃO MORAM NO DISCO… ELES VIAJAM PELO UNIVERSO DO z/OS 😳

O guia proibido de Storage Management que revela como memória, disco e sysplex trabalham juntos (e quase ninguém entende)

Você acha que seu dataset “fica no disco”?

👉 Não fica.

No z/OS, dados:

  • sobem pra memória
  • descem pra disco
  • migram pra fita
  • aparecem em outro LPAR
  • e até existem fora do seu address space

💥 “No mainframe, dado não tem endereço fixo… tem estratégia.”

Se você quer sair do nível “usuário” e pensar como engenheiro de sistema, esse é o mapa completo 👊🔥


🧠 1. ADDRESS SPACE — O UNIVERSO DO PROGRAMA

Cada programa roda em um address space isolado.


🔥 O que isso significa?

  • memória protegida
  • ambiente independente
  • controle total do sistema

💡 Insight

cada address space é um “universo privado”


⚡ 2. 64-BIT ADDRESSING — MEMÓRIA INFINITA (QUASE)

Com 64 bits:

👉 até 16 EXABYTES


🔥 Evolução histórica

EraLimite
24-bit16MB 😱
31-bit2GB
👉 64-bit16EB 🤯

💡 Tradução Bellacosa

“acabou a desculpa de falta de memória”


🧠 Uso real

  • Java
  • Db2
  • middleware
  • grandes buffers

🧩 3. DAT — A MÁGICA DA TRADUÇÃO

DAT (Dynamic Address Translation):

👉 converte endereço virtual → real


🔥 Sem DAT:

  • programa quebraria
  • memória não funcionaria

💡 Tradução

“você nunca acessa memória real diretamente”


🧠 4. STORAGE REQUESTS — COMO A MEMÓRIA É PEDIDA

Programas pedem memória via:

  • GETMAIN
  • STORAGE OBTAIN

🔥 O sistema decide:

  • onde alocar
  • em qual subpool
  • com qual proteção

💡 Insight

memória é gerenciada, não livre


🧱 5. SUBPOOLS — ORGANIZAÇÃO INTERNA

Memória é dividida em:

👉 subpools


🔥 Exemplos:

  • SP0 → sistema
  • SP229 → usuário

💡 Tradução

“cada tipo de dado tem seu bairro”


🌍 6. DATA SPACES & HIPERSPACES — FORA DO ADDRESS SPACE

🔹 Data Spaces

  • dados fora do address space
  • acessados via AR

🔹 Hiperspaces

  • alta performance
  • acesso indireto

🔥 Tradução Bellacosa

“memória extra fora do seu universo”


🧠 Exemplo

Programa → usa Data Space → grande volume de dados

⚡ 7. PAGING — QUANDO A MEMÓRIA NÃO CABE

Se falta memória:

👉 dados vão para disco (paging)


🔥 Fluxo

Memória cheia

página vai para DASD

quando necessário → volta

💡 Problema

👉 excesso de paging = sistema lento 💀


💾 8. FLASH STORAGE — O TURBO MODERNO

Flash (SSD):

  • baixa latência
  • alta velocidade
  • ideal para OLTP

💡 Uso

  • Db2
  • logs
  • datasets críticos

🔗 9. PARALLEL SYSPLEX — MEMÓRIA COMPARTILHADA ENTRE SISTEMAS

Aqui fica poderoso 😄


🔥 O que é?

Vários z/OS trabalhando juntos:

👉 como um só sistema


💡 Elementos:

  • LPARs
  • Coupling Facility (CF)
  • links de comunicação

🧠 Exemplo

LPAR A → acessa dado
LPAR B → acessa o mesmo dado

💡 Tradução

“dados compartilhados em tempo real”


🧠 10. COUPLING FACILITY (CF) — O CÉREBRO COMPARTILHADO

🔹 Função:

  • lock management
  • cache
  • filas

🔥 Tipos:

  • Internal CF
  • External CF

💡 Tradução Bellacosa

“CF = memória compartilhada do sysplex”


⚡ 11. DUPLEXING — ZERO PERDA

🔥 O que faz?

  • duplica dados
  • garante disponibilidade

💡 Exemplo

CF primário → falha
CF secundário → assume

🧨 Curiosidade

Sistema continua rodando sem impacto 😳


🧠 12. CF OPERATIONS — O QUE ACONTECE POR TRÁS

CF gerencia:

  • locks
  • buffers
  • filas

💡 Uso real

  • Db2 data sharing
  • CICS
  • IMS

⚙️ 13. STORAGE + I/O + CPU — TUDO CONECTADO

Nada funciona isolado:

Memória → I/O → CPU → WLM → Storage

💡 Insight

performance é resultado do conjunto


🔄 14. PASSO A PASSO COMPLETO

Programa inicia

recebe address space

pede memória (GETMAIN)

DAT traduz endereço

usa data space se necessário

paging ocorre se faltar memória

dados vão para disco/flash

sysplex compartilha dados via CF

duplex garante disponibilidade

🧨 CURIOSIDADES (NÍVEL ROOT)

🤯 1. Você não controla diretamente onde o dado está


🔥 2. Dados podem estar fora do seu address space


💀 3. Paging excessivo mata performance


🧠 4. Sysplex permite vários sistemas compartilharem dados


⚡ 5. CF é o segredo da alta disponibilidade


🎯 RESUMO FINAL

✔ Address space = isolamento

✔ 64-bit = escala absurda

✔ DAT = tradução

✔ Subpools = organização

✔ Data space = expansão

✔ Paging = fallback

✔ Flash = velocidade

✔ Sysplex = escala

✔ CF = coordenação

✔ Duplexing = resiliência


💥 FRASE FINAL

“No z/OS, dados não ficam armazenados… eles são orquestrados entre memória, disco e múltiplos sistemas em tempo real.”

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.”