Translate

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

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

Bellacosa Mainframe simulator Mainframe Capacity


 

Entenda e veja na pratica como funciona um Mainframe


Bellacosa Mainframe Apresenta o Simulador de Capacity Mainframe

IBM Mainframe Capacity Lab Simulator

Experimente um simulador visual inspirado nos painéis clássicos do IBM Mainframe. Um laboratório interativo criado por Vagner Bellacosa para explorar conceitos de capacidade, luzes e comportamento do sistema.

🚀 Abrir Simulador ⭐ Follow Bellacosa Mainframe

Preview interativo do simulador IBM Capacity Mainframe

IBM Capacity

https://vagnerbellacosa.github.io/LAB_IBM_Capacity/


🖥️ Você já viu como funciona o Capacity Planning de um Mainframe por dentro?

A maioria das pessoas sabe que bancos, bolsas de valores e sistemas governamentais dependem de mainframes…

Mas quase ninguém vê como a capacidade desses sistemas é monitorada e cobrada no dia a dia.


Trabalho em Curso, algumas funcionalidades em construção


Então resolvi criar algo diferente 👇


🚀 Um simulador interativo de Capacity Planning de Mainframe


Ele reproduz conceitos reais usados em ambientes IBM Z:


📊 MSU e MIPS em tempo real

📈 4HRA (Four Hour Rolling Average) usado na cobrança IBM

⚡ Simulação de CPU Capping

🧠 Impacto de WLM Policies

📡 Mudança de LPAR Weights

💰 Estimativa de custo mensal de software

📟 Console estilo 3270 com alertas operacionais

Tudo rodando direto no navegador.

A ideia é ajudar estudantes, profissionais e curiosos a entenderem como funciona a engenharia de capacidade de um mainframe — algo que normalmente só vemos dentro de grandes datacenters.

👉 Experimente o simulador aqui:

🔗 [coloque aqui o link do seu LAB]

Se você trabalha com:

Mainframe

Capacity Planning

z/OS

Performance & Tuning

FinOps de infraestrutura

vale muito a pena explorar.

E se você está começando no mundo mainframe…

isso pode ajudar a visualizar conceitos que geralmente são difíceis de explicar apenas com teoria.

Se achar interessante, deixe um comentário ou compartilhe com alguém que trabalha com IBM Z.


#Mainframe

#IBMz

#zOS

#CapacityPlanning

#PerformanceEngineering

#Mai


domingo, 22 de fevereiro de 2026

🔥 31 Bits?! O Bug que Virou Arquitetura: o Segredo Oculto do MVS que Quase Quebrou o Mainframe (e Salvou Tudo)

 

Bellacosa Mainframe explica os 31 bits de endereçamento de memoria no IBM MVS


🔥 “31 Bits?! O Bug que Virou Arquitetura: o Segredo Oculto do MVS que Quase Quebrou o Mainframe (e Salvou Tudo)”

Se você chegou até aqui, jovem padawan do aço e silício… prepare-se: essa não é só uma história técnica — é um daqueles momentos em que uma limitação virou genialidade.

Hoje você vai entender por que o MVS roda em 31 bits, mesmo em um mundo que já flertava com 32 bits — e como isso se conecta diretamente com compatibilidade, performance e… um bit que virou lenda. 🧠⚡


🧠 O Contexto: Quando 32 bits Ainda Era Ficção Científica Prática

Voltamos para os anos 70/80, época do OS/360 e da evolução para o MVS.

Naquele tempo:

  • 24 bits era o padrão (endereçamento até 16 MB 😱)
  • A IBM precisava evoluir
  • Mas não podia quebrar NADA do que já existia

💡 Tradução Bellacosa:

“Evoluir sem quebrar legado — o esporte olímpico do mainframe.”


⚙️ A Chegada dos 32 bits… com um Plot Twist

Quando a IBM decidiu expandir para 32 bits, veio o dilema:

👉 Como crescer sem destruir milhares de aplicações escritas para 24 bits?

A solução foi engenhosa e ousada:

➡️ Usar apenas 31 bits para endereço
➡️ E reservar 1 bit para controle


💥 O Bit 0: O Verdadeiro Protagonista

Aqui entra o easter egg mais clássico do mundo mainframe:

O bit mais significativo (bit 0) foi separado para indicar o modo de endereçamento.

📌 Resultado:

Bit 0Significado
0Endereço válido (modo 31 bits)
1Controle especial (ex: retorno de subrotina)

💡 Isso permitia:

  • Misturar código 24 bits com 31 bits
  • Manter compatibilidade TOTAL
  • Evitar crashes catastróficos

🧬 O Nascimento do “Modo 31”

O MVS passou a operar em algo híbrido:

  • 24-bit mode (legado)
  • 31-bit mode (expansão)

E isso foi formalizado em arquiteturas como:

👉 System/370-XA


🎮 Exemplo Prático (Estilo Raiz)

Imagine um programa chamando uma subrotina:

BALR R14,R15

O endereço de retorno fica no registrador com o bit 0 ligado (1).

🔍 Isso significa:

“Ei! Isso não é um endereço comum — é um ponteiro de controle!”

🔥 Resultado:

  • O sistema sabe diferenciar código de controle
  • Evita confusão com endereços reais
  • Permite transições seguras entre modos

🧪 Analogias para Padawans

Pense assim:

O MVS usa 31 bits como endereço e guarda o último bit como se fosse um "selo VIP" no ingresso 🎟️

  • Sem selo → endereço normal
  • Com selo → instrução especial

🧠 Por que isso foi GENIAL?

Porque resolveu 3 problemas gigantes de uma vez:

1. 🛡️ Compatibilidade absoluta

Programas antigos continuaram funcionando.

2. 🚀 Expansão de memória

Sai de 16 MB → até 2 GB

3. 🧩 Controle inteligente

O sistema ganhou uma forma de distinguir contextos sem custo extra


🐣 Easter Egg que poucos contam

Muitos bugs clássicos em assembler vinham de:

👉 esquecer de limpar o bit 0

Resultado?

💥 Endereço inválido
💥 S0C4 (proteção)
💥 Caos existencial do operador


⚡ Comentário Bellacosa Mainframe

Se você acha isso gambiarra…

💬 “No mundo distribuído, isso seria um workaround.
No mainframe… virou ARQUITETURA OFICIAL.”

E mais:

👉 Essa decisão influenciou diretamente o caminho até o 64 bits no z/Architecture


🚀 Moral da História

O MVS não é 31 bits por limitação.

Ele é 31 bits por estratégia, elegância e sobrevivência.

Às vezes, a melhor inovação não é avançar tudo…
é avançar sem quebrar nada.


🔥 TL;DR para o Padawan Apressado

  • MVS usou 31 bits para endereço
  • 1 bit virou controle (bit 0)
  • Garantiu compatibilidade com 24 bits
  • Evitou reescrever o mundo inteiro
  • Criou um dos hacks mais elegantes da história da computação 

sábado, 21 de fevereiro de 2026

📊 Da Era dos 16MB ao Infinito: A Linha do Tempo que Explica 24 → 31 → 64 bits no Mainframe

 

Bellacosa Mainframe explica o endereçamento de memoria no IBM Mainframe 24 31 e 64 bits

📊 “Da Era dos 16MB ao Infinito: A Linha do Tempo que Explica 24 → 31 → 64 bits no Mainframe”

Prepare-se, padawan… agora você vai enxergar a evolução do mainframe como um verdadeiro mapa de poder computacional — cada salto não foi só técnico… foi uma jogada estratégica digna de xadrez. ♟️


🟢 1. Era 24 bits — O Mundo Cabia em 16MB

🔹 Contexto

  • Arquitetura do OS/360
  • Endereçamento: 24 bits
  • Limite: 16 MB

🧠 O que isso significava?

  • Tudo precisava caber em um espaço minúsculo
  • Programas eram ultra otimizados
  • Overlays eram comuns (carregar partes do programa sob demanda)

💬 Bellacosa insight:

“Aqui nasceu o DNA da eficiência — cada byte valia ouro.”


🟡 2. Era 31 bits — O Hack Mais Elegante da História

🔹 Contexto

  • Evolução para o MVS
  • Introdução da System/370-XA

⚙️ O que mudou?

  • Endereçamento: 31 bits (não 32!)
  • Limite: 2 GB
  • 1 bit reservado (bit 0) para controle

🔥 O pulo do gato:

  • Compatibilidade TOTAL com 24 bits
  • Mistura de modos (24 + 31)
  • Controle inteligente via bit mais significativo

🧪 Conceito-chave:

O endereço não é só endereço — ele carrega “intenção”

💬 Bellacosa insight:

“Enquanto o mundo queria mais bits… o mainframe queria mais inteligência.”


🔵 3. Era 64 bits — O Universo Expandido

🔹 Contexto

  • Arquitetura moderna: z/Architecture
  • Sistemas como z/OS

🚀 O que mudou?

  • Endereçamento: 64 bits
  • Limite teórico: exabytes
  • Espaço virtual gigantesco

🧠 Novos conceitos:

  • Above the bar / below the bar
  • Memory objects
  • Large memory exploitation

💬 Bellacosa insight:

“Agora não é mais sobre caber… é sobre escalar sem limites.”


📊 Timeline Simplificada (Estilo Raiz)

1970s ───────────────► 24 bits (16 MB)
OS/360

1980s ───────────────► 31 bits (2 GB)
MVS / System/370-XA
(bit 0 reservado 👀)

2000+ ───────────────► 64 bits (exabytes)
z/Architecture / z/OS

🧬 Conexão Evolutiva (O Segredo por Trás)

EraProblemaSoluçãoFilosofia
24 bitsMemória limitadaOtimização extrema“Faça caber”
31 bitsCrescer sem quebrarBit de controle“Evolua com legado”
64 bitsEscalabilidadeEspaço massivo“Expanda sem limites”

🐣 Easter Egg de Mestre

Mesmo no mundo 64 bits…

👉 O conceito de “compatibilidade com legado” continua vivo
👉 E o espírito do bit 0 ainda ecoa nas decisões de design

💥 Ou seja:

O passado do mainframe nunca foi descartado — ele foi incorporado


⚡ Fechamento Estilo Bellacosa

Se você entendeu essa timeline, você desbloqueou algo raro:

🧠 Você não vê mais bits… você vê decisões arquiteturais

Porque no mainframe:

Cada bit tem história
Cada limitação vira estratégia
E cada evolução respeita o passado

 

terça-feira, 12 de agosto de 2025

O que é Address Space?

 

O que é Address Space?

4,424 followers

Salve jovem padawan, prosseguindo em nossa jornada de descobrimento e compartilhamento de conhecimento, hoje escreverei sobre um tema dificil, tentarei ser claro e ajudar com exemplos fáceis de entender.

Em minhas aulas percebo que os alunos ficam confusos por ser um tema muito abstrato, porém de máxima importância para um desenvolvedor Mainframe, a questão da memória, lembrando que um Z17 tem 16 exabytes de endereço de memória disponível.

Ao codificar, devemos dominar o espaço, ser econômicos em seu uso e dar o máximo de performance para um programa, por isso entender o conceito ajudará bastante.

✅ O que é Address Space?

Um Address Space é um ambiente isolado de execução fornecido pelo z/OS para que um job, um programa ou uma tarefa rode com sua própria memória e recursos protegidos. Pense nele como um "container" de memória virtual onde o seu programa COBOL roda. Esse cointainer será alocado no DATA DIVISION do Cobol e o programa ao ser enviado para o processamento na CPU, reservará esse espaço para usar durante todo o processo.


🧠 Por que isso é importante para COBOL?

Quando você submete um job COBOL batch, ou inicia um programa via CICS, o sistema cria um address space para:

  • Carregar os programas COBOL compilados (load modules).
  • Alocar memória para as variáveis.
  • Abrir arquivos (datasets, VSAM, etc.).
  • Comunicar com o CICS, DB2 ou IMS.
  • Controlar segurança, permissões e acesso via RACF.
  • Garantir que um job não interfira em outro (isolamento de execução).

Esse espaço estará isolado de outras aplicações e protegido contra interferências durante todo o processamento dos dados, porém devemos criá-lo com cuidado. Afinal muitas outras aplicações criarão os delas, esse espaço tende a ser continuo e para seu uso mais racional, o endereçamento renumera em tempo de execução para 1 até o ultimo byte reservado.


📌 Tipos de Address Space comuns no ambiente z/OS:



Article content

Tipo de EspaçoDescriçãoJob Address SpaceCriado quando um JCL é submetido. Executa seu programa COBOL.TSO Address SpaceQuando um usuário entra via TSO (ISPF), um espaço é criado.CICS RegionCICS cria um espaço para executar programas COBOL online.STC (Started Task)Tasks como SDSF, VTAM ou WebSphere são address spaces.


🛠️ Dica prática para COBOListas

Se você estiver enfrentando erros de memória, como abend S0C4, S0C1, S80A, saiba que o problema pode estar relacionado à forma como o seu programa está usando (ou ultrapassando) os limites do Address Space.

Sempre recomendo o uso dos Bug traps do COBOL, nunca deixe de validar returns codes, sql codes e validar os valores resultantes. Evitando abends descontralados em tempo de execução.


💡 Curiosidade Bellacosa Mainframe:

Cada address space tem sua própria área de memória protegida, mas todos compartilham o mesmo sistema de I/O, JES e catálogo. O z/OS garante que um job de um programador "distraído" não corrompa o ambiente do colega — um isolamento que já existia décadas antes dos containers Docker!

💡 Conclusão

Esse artigo teve como objetivo fornecer os primeiros passos para o futuro Mainframer, mas para obter maiores conhecimentos recomendo visitar o site da IBM , ler os manuais e participar da comunidade para evoluir sempre.

Espero ter ajudado e contem comigo para mais artigos, participe de nossa comunidade.

Ajude-nos a evoluir sempre.

Obrigado.