Translate

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

domingo, 15 de março de 2026

🔥 z/OS NÃO É CPU: O Poder Invisível Que Realmente Move o Mainframe (E Quase Ninguém Explica)

 

Bellacosa Mainframe apresenta o misterio do Storage Mainframe

🔥 z/OS NÃO É CPU: O Poder Invisível Que Realmente Move o Mainframe (E Quase Ninguém Explica)

⚠️ Se você acha que mainframe é “uma CPU gigante processando COBOL”… prepare-se para um pequeno choque de realidade.


🧙‍♂️ Padawan, aproxime-se…

Todo iniciante em mainframe passa por um momento de revelação.

No começo, você pensa:

“Quanto mais CPU, mais rápido.”

Depois vem o primeiro relatório de performance…

E aparece um número misterioso:

IOSQ = 37 ms

Ou pior:

DEVICE BUSY
PEND TIME ALTO

E então alguém experiente murmura:

“Isso não é CPU… é I/O.”

Bem-vindo ao lado invisível da Força.


🏛️ A Grande Mentira do Mundo Distribuído

No universo x86, a narrativa dominante é:

Performance = CPU + RAM

IBM Z como funciona a Performance


No IBM Z, a equação real é:

Performance = Addressability + I/O Architecture + Workload Management

CPU muitas vezes é só o maestro.

Quem toca a sinfonia são:

  • IOS

  • Channel Subsystem

  • Storage

  • Dispatching

  • Memory Architecture

  • PAV / HyperPAV

  • WLM / IRD


🧬 O Segredo Nº1: O mainframe NÃO espera I/O

Em sistemas comuns:

Fluxo de uso de memoria no X86


Programa → lê disco → espera → continua

Fluxo de uso da memoria no Mainframe


No z/OS:

Programa → delega I/O → CPU faz outra coisa

Quem assume o trabalho pesado?

👉 SAP — System Assist Processor
👉 Channel Subsystem
👉 Control Units
👉 Storage microcode

A CPU volta só quando o dado está pronto.

Isso é computação de alta eficiência em escala industrial.


🚀 Dispatching: O Coração Pulsante

Durante o IPL e ao longo da execução, o sistema escolhe quem roda a cada instante.

Unidades de trabalho:

  • TCB — Task Control Block (tarefas “normais”)

  • SRB — Service Request Block (tarefas super rápidas do kernel)

O dispatcher faz algo extraordinário:

troca contexto
aloca CPU
preserva estado
mantém isolamento

Tudo em microssegundos.

Curiosidade histórica:

O z/OS herdou conceitos do MVS dos anos 70 — e ainda assim continua décadas à frente em escalabilidade.


🧠 Addressability: O Poder que Quase Ninguém Entende

Padawan, aqui está o verdadeiro tesouro.

Cada programa roda em um Address Space isolado.

Mas o sistema permite acessar outros espaços de forma controlada.

Isso é feito por:

  • Cross-memory services

  • Program Call (PC)

  • Access Registers

  • ALESERV

  • Linkage Stack


🌀 Program Call: Visitando Outro Universo

Um programa pode executar código em outro address space sem copiar dados.

É como:

“Ir à casa do vizinho, usar o videogame dele e voltar.”

Com segurança de nível militar.


🧩 Linkage Stack: O Guardião do Retorno

Toda chamada salva automaticamente:

  • PSW

  • Registradores

  • Estado de execução

Sem precisar de save areas manuais.

Simplesmente elegante.


🔐 Access Registers: Chaves Dimensionais

Permitem que um programa acesse múltiplos espaços simultaneamente.

Não é apenas virtual memory.

É multi-universo controlado por hardware.


📦 Data Spaces e Hiperspaces: Memória Além da Memória

Antes do addressing de 64 bits, engenheiros criaram:

  • Data Spaces — áreas enormes de dados

  • Hiperspaces — armazenamento ultrarrápido fora do espaço principal

Hoje ainda aparecem em código legado.

E funcionam absurdamente bem.


⚡ O Verdadeiro Monstro: O I/O Supervisor (IOS)

IBM Mainframe I/OS Supervisor


O IOS é o general das operações de entrada/saída.

Fluxo típico:

Aplicação

IOS

ORB criado

SSCH (Start Subchannel)

Channel Subsystem

Control Unit

Device

🧱 ORB, CCW e SCHIB — A Trindade do I/O

ORB — Operation Request Block

Define o pedido de I/O.

CCW — Channel Command Word

Comandos que o dispositivo executará.

SCHIB — Subchannel Information Block

Informações de caminhos e status.


🛣️ Dynamic Path Selection: GPS do Storage

O sistema escolhe automaticamente o melhor caminho até o device.

Se um estiver congestionado:

usa outro

Sem intervenção humana.


🔥 PAV e HyperPAV: Quando um Disco Não Basta

Antigamente:

1 volume → 1 operação por vez

Hoje:

👉 PAV cria aliases para paralelismo
👉 HyperPAV usa pool dinâmico
👉 SuperPAV ultrapassa limites de control unit

Resultado:

múltiplos I/Os simultâneos

🐹 IOSQ Alto: O Hamster Está Cansado

IOSQ = tempo esperando na fila do dispositivo.

Se alto:

  • contenção de volume

  • falta de aliases

  • workload concentrado

  • gargalo de storage

É o equivalente mainframe de:

“CPU está idle, mas tudo continua lento.”


⚡ zHPF: Menos Conversa, Mais Trabalho

Arquitetura clássica:

vários CCWs
várias interações

zHPF:

Transport Mode
TCW único
menos overhead

Ideal para workloads com milhões de pequenos I/Os.


🌌 zHyperLink: Hiperespaço do Storage

Conexão direta ultrarrápida com DS8000.

Latência:

FICON → centenas de microssegundos
zHyperLink → dezenas

Projetado especialmente para DB2.


🧠 IRD: O Maestro Invisível

O Intelligent Resource Director move recursos entre LPARs automaticamente:

  • CPU weights

  • Channel paths

  • Prioridades

Tudo baseado nas metas do WLM.

Sem reboot. Sem intervenção.


🧪 Easter Egg para Padawans Observadores

Se você olhar um dump real de SOC4 e conseguir identificar:

  • registrador base incorreto

  • endereço inválido

  • PSW no momento da falha

Parabéns.

Você já começou a ver a Matrix do z/OS.


🏁 Moral da História

O IBM Z não é poderoso por causa da CPU.

Ele é poderoso porque:

👉 Nunca para
👉 Nunca desperdiça ciclos
👉 Paraleliza tudo
👉 Isola tudo
👉 Gerencia recursos como um organismo vivo


💬 Frase para guardar na memória

O mainframe não é um computador rápido — é um sistema que evita ser lento.


🔮 Próximo Nível

Quando você realmente entender:

  • Addressability

  • Cross-memory

  • IOS

  • Channel Subsystem

  • Storage architecture

Você perceberá algo assustador:

O z/OS não executa programas… ele orquestra universos isolados cooperando.

https://www.linkedin.com/pulse/zos-n%C3%A3o-%C3%A9-cpu-o-poder-invis%C3%ADvel-que-realmente-move-e-quase-bellacosa 

 





terça-feira, 10 de fevereiro de 2026

🔥 SEU PROGRAMA NÃO ESTÁ LENTO… O GARGALO ESTÁ NO I/O 💀

 

Bellacosa Mainframe mergulha no segredo do z/os tecnicas de i/o


🔥 SEU PROGRAMA NÃO ESTÁ LENTO… O GARGALO ESTÁ NO I/O 💀

O guia proibido do IOS, canais e discos que explica por que seu z/OS voa… ou trava

Você pode tunar CPU, ajustar WLM, mexer em COBOL…

👉 mas se o I/O estiver ruim: acabou o jogo.

Porque no mainframe:

💥 performance = I/O bem resolvido

E o que você vai ver agora é o lado invisível do z/OS — onde realmente se ganha (ou perde) desempenho.


🧠 1. A VERDADE QUE POUCOS SABEM

👉 O processador NÃO faz I/O


💡 Quem faz então?

  • IOS (coordena)
  • Channel Subsystem (executa lógica)
  • SAP (trabalha pesado)
  • Devices (fazem o trabalho físico)

🔥 Tradução Bellacosa

“CPU pensa… o resto corre atrás do dado.”


⚙️ 2. IOS — O MAESTRO DO I/O

O Input/Output Supervisor (IOS) é quem:

  • recebe pedidos do programa
  • monta requisição
  • dispara operação

🔥 Ele usa:

👉 Start Subchannel (SSCH)


💡 Exemplo

READ arquivo

IOS cria ORB

envia para channel subsystem

🧩 3. CHANNEL SUBSYSTEM — A ENGRENAGEM

Ele é responsável por:

  • fila de I/O
  • seleção de caminho
  • envio de comandos
  • interrupções

🔥 Estrutura

CPU → Channel → Control Unit → Device

🧨 Curiosidade

Você pode ter múltiplos caminhos para o mesmo disco

👉 alta disponibilidade real


🔗 4. CCW — A LINGUAGEM DO HARDWARE

z/OS não fala com disco direto.

👉 usa CCW (Channel Command Word)


💡 Exemplo

  • READ
  • WRITE
  • SEEK

🔥 Tradução

“CCW = comando que o hardware entende”


🧱 5. UCB vs SUBCHANNEL — O CASAMENTO

🔹 Subchannel

  • criado no POR
  • representa hardware

🔹 UCB

  • criado no IPL
  • representa software

🔥 Resultado

👉 mapeamento 1:1


💡 Insight

sem isso… device não existe pro sistema


⚙️ 6. HCD — O ARQUITETO DO DATA CENTER

O HCD define:

  • devices
  • canais
  • paths
  • control units

🔥 Resultado

👉 cria IODF


🧨 Easter Egg

Você pode:

👉 adicionar disco SEM derrubar o sistema 😳


🧠 7. O FLUXO REAL DE UM I/O

Programa pede READ

IOS cria ORB

Start Subchannel

Channel seleciona path

Control Unit executa

Device responde

Interrupt → CPU

Programa continua

💡 Insight

tudo isso acontece em microssegundos


💀 8. ERROS — QUANDO O MUNDO CAI

🔥 MIH

  • device não respondeu a tempo

🔥 HOT I/O

  • interrupt infinito

🔥 Soluções

  • VARY OFFLINE
  • CHPID OFFLINE
  • recovery

⚡ 9. PERFORMANCE — ONDE MORA O PROBLEMA

Tempo de I/O:

IOSQ + Pend + Disconnect + Connect

💡 Gargalo clássico

👉 IOSQ alto (fila)


🧨 Tradução

“todo mundo quer o mesmo disco ao mesmo tempo”


🚀 10. PAV — A REVOLUÇÃO

Antes:

👉 1 disco = 1 operação


🔥 Depois do PAV:

👉 múltiplos acessos simultâneos


💡 Como?

  • base device
  • alias devices

🔥 Exemplo

Sem PAV:
A → usa disco
B → espera

Com PAV:
A + B → simultâneo

⚡ 11. HYPERPAV — INTELIGENTE

  • pool dinâmico
  • alocação automática

💡 Tradução

“usa recurso só quando precisa”


🧨 12. SUPERPAV — ESCALA MONSTRA

  • ultrapassa limite de 256
  • compartilha entre control units

🧠 13. PRIORIDADE E WLM

WLM define:

  • quem acessa primeiro
  • quem espera

💡 Insight

nem todo I/O é igual


🔥 Exemplo

TipoPrioridade
pagamentoalta
batchbaixa

⚡ 14. TECNOLOGIAS MODERNAS

🔹 zHPF

  • menos overhead
  • mais performance

🔹 zHyperLink

  • latência ultra baixa
  • ideal para DB2

🧨 CURIOSIDADES (NÍVEL ROOT)

🤯 1. CPU não faz I/O


🔥 2. I/O é paralelo desde sempre


💀 3. Gargalo quase sempre é disco


🧠 4. PAV salvou performance moderna


⚡ 5. HyperPAV é invisível para o dev


🎯 RESUMO FINAL

✔ IOS coordena

✔ Channel executa

✔ SAP trabalha

✔ UCB representa

✔ PAV acelera

✔ WLM prioriza


💥 FRASE FINAL

“No mainframe, não é o código que define a velocidade… é o caminho que os dados percorrem.”

 

segunda-feira, 1 de dezembro de 2025

💥 SEU COBOL NÃO FAZ I/O — ELE COMANDA UM EXÉRCITO INVISÍVEL: O Verdadeiro Poder do Channel Subsystem no IBM z17

 

Bellacosa Mainframe entenda I/O e Channel Subsystem no Z/OS Mainframe

💥 SEU COBOL NÃO FAZ I/O — ELE COMANDA UM EXÉRCITO INVISÍVEL: O Verdadeiro Poder do Channel Subsystem no IBM z17


Se você é dev COBOL sênior e ainda pensa que um READ é só um acesso a disco…
👉 você está vendo apenas a ponta do iceberg.

Porque no mundo do IBM Z (como o z17), o que parece simples esconde uma das arquiteturas mais elegantes já criadas:

💥 Você não faz I/O… você orquestra uma máquina paralela de execução.

E essa máquina tem nome:

👉 Channel Subsystem (CSS)


🧠 🏛️ Um pouco de história (e por que isso é genial)

7

Lá nos anos 60, enquanto outros sistemas faziam I/O travando a CPU, a IBM fez algo revolucionário:

👉 Criou processadores dedicados para I/O

💥 Resultado:

  • CPU livre
  • I/O paralelo
  • Escalabilidade absurda

Esse conceito nasceu no System/360
e hoje, no IBM Z (z16/z17), virou uma máquina de throughput brutal.


🔥 O segredo que ninguém te contou

Quando você escreve:

READ CLIENTES-FILE

👉 O que você acha que acontece?

  • A CPU vai no disco? ❌
  • O COBOL faz leitura direta? ❌

💥 O que REALMENTE acontece

  1. COBOL chama o access method (QSAM/VSAM)
  2. Ele monta um Channel Program (CCW/DCW)
  3. z/OS passa para o IOS
  4. IOS dispara um SSCH (Start Subchannel)
  5. O Channel Subsystem assume tudo
  6. A Control Unit executa
  7. O device responde
  8. Uma interrupção volta

👉 E a CPU?
💥 Livre para trabalhar


🧠 Arquitetura — o mapa do poder

8

🔗 Componentes essenciais

  • Channel (CHPID) → caminhos
  • Control Unit (CU) → controlador
  • Device → disco/tape
  • Subchannel → ponte invisível
  • UCB → ficha do device no z/OS

💡 Insight Bellacosa

O device é o destino…
o subchannel é o caminho real.


⚙️ Channel Program — o “script secreto”

👉 Você não vê, mas ele existe:

LOCATE
READ
READ

💥 Isso é enviado para o hardware executar.


🧠 Easter Egg técnico

👉 CCW não roda na CPU

👉 Ele roda:

  • No CSS
  • Na CU
  • Com suporte do SAP

💥 É um “programa fora do sistema operacional”


🚀 zHPF — quando o I/O virou turbo

7

👉 Problema antigo:

  • CCW = muita conversa

👉 Solução:

  • zHPF (High Performance FICON)
  • Usa DCW + TCCB

💥 Resultado:

  • Menos overhead
  • Mais throughput
  • Menos latência

💾 O maior gargalo (e como o mainframe resolve)

❌ Regra antiga

1 UCB = 1 I/O

👉 Resultado:

  • Fila
  • Lentidão

🔥 PAV — a virada de jogo

7

👉 Solução:

  • Criar aliases (UCBs adicionais)
  • Permitir I/O paralelo

🧠 Evolução

  • Static PAV → fixo
  • Dynamic PAV → WLM
  • HyperPAV → IOS 🚀

💥 Insight

PAV não acelera o disco…
ele elimina a fila


🔍 Diagnóstico real (nível produção)

Você abre o RMF e vê:

RESPONSE TIME = 25 ms
IOSQ = 18 ms
SERVICE = 6 ms

🧠 Tradução

  • Disco rápido ✔
  • Fila enorme ❌

💥 Problema = contenção


🚀 Solução

👉 Ativar HyperPAV


☕ Analogias (pra nunca esquecer)

  • Channel → estrada
  • CU → pedágio
  • Device → destino
  • UCB → cadastro
  • Subchannel → rota GPS

🧠 Curiosidades (nível insider)

💡 O CSS pode escolher automaticamente o melhor path
💡 Você pode ter dezenas de paths para um device
💡 I/O continua mesmo com falha de hardware
💡 O z/OS raramente toca no I/O diretamente


🔥 O erro que até sênior comete

“O disco está lento”

💥 Na maioria das vezes:

“O disco está concorrendo”


🚀 Mentalidade de especialista

Sempre pergunte:

  1. É fila ou execução?
  2. Qual volume está quente?
  3. Tenho paralelismo suficiente?

🎯 Conclusão — o verdadeiro poder

Se você entendeu isso, você saiu de:

  • Dev COBOL
    👉 para
  • Arquiteto de I/O

💥 Frase final Bellacosa

“No mainframe, você não faz I/O…
você delega para uma máquina feita para isso — e ela nunca dorme.” 😎