Translate

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

 

sexta-feira, 6 de fevereiro de 2026

🔥 SE O z/OS NÃO SOBE… NADA EXISTE 💀O guia proibido do IPL que todo dev COBOL deveria entender (mas quase ninguém entende)

 

Bellacosa Mainframe fala sobre a iniacialização do ambiente operacional

🔥 SE O z/OS NÃO SOBE… NADA EXISTE 💀

O guia proibido do IPL que todo dev COBOL deveria entender (mas quase ninguém entende)

Você escreve COBOL… compila… roda…
👉 e acha que o sistema “tá lá pronto”.

Errado.

Antes do seu programa existir, acontece um ritual quase místico chamado:

IPL — Initial Program Load

E aqui vai a verdade estilo Bellacosa:

💥 “Se o IPL falhar… o mainframe inteiro simplesmente NÃO EXISTE.”

Hoje você vai entender isso como um padawan do mainframe, mas com visão de Jedi 👊🔥


🧠 O QUE É O IPL (O NASCIMENTO DO SISTEMA)

O IPL é o momento em que:

  • o hardware ganha vida
  • o z/OS é carregado
  • os primeiros address spaces são criados

👉 Segundo o material, ele:

  • carrega o sistema do disco
  • inicializa o kernel
  • cria o ambiente completo

🔥 Tradução Bellacosa

“IPL é o Big Bang do z/OS.”


🧱 OS DATASETS QUE FAZEM O MILAGRE ACONTECER

Sem eles… não tem sistema. Simples assim.


🔥 SYS1.NUCLEUS — o coração

Contém:

  • NIP (Nucleus Initialization Program)
  • RIM (Resource Initialization)
  • módulos básicos do kernel

👉 É literalmente o “cérebro inicial”.


🔥 SYS1.LPALIB — a memória compartilhada

  • módulos do sistema
  • SVCs
  • rotinas críticas

👉 Vai parar dentro da LPA (já já explico 👀)


🔥 SYS1.LINKLIB — o arsenal

  • programas do sistema
  • inclui o Master JCL

👉 Aqui começa a execução de verdade.


🔥 SYS1.PARMLIB — o cérebro de configuração

Define:

  • como o sistema vai funcionar
  • performance
  • segurança

👉 É o /etc do z/OS… só que turbinado.


🔥 SYS1.PROCLIB — automação

  • procedures (START, etc.)
  • inicialização de subsistemas

🔥 Outros importantes

  • PAGE DATASETS → memória virtual
  • SMF → estatísticas
  • DUMP → análise de erro

💡 Insight de ouro

“z/OS não sobe com código… sobe com DATASETS.”


⚙️ I/O CONFIG — O MAPA DO MUNDO

Antes do sistema usar qualquer coisa, ele precisa saber:

  • quais devices existem
  • onde estão
  • como acessar

🔹 Quem faz isso?

👉 HCD + IOCDS + IODF


🔥 Durante o IPL:

  • cada device gera um UCB (Unit Control Block)
  • o sistema passa a reconhecer discos, fitas, etc.

🧨 Easter Egg

Se o device não está no IODF… ele NÃO EXISTE pro sistema.


🧠 PARMLIB — ONDE VOCÊ DOMINA O SISTEMA

🔹 O que é?

Um conjunto de membros tipo:

  • IEASYSxx
  • LOADxx
  • outros

🔥 Função

Define:

  • memória
  • subsistemas
  • comportamento do sistema

💡 Dica de Jedi

Nunca mexa direto no default:

IEASYS00 → base
IEASYS01 → custom

👉 Se quebrar, você volta.


⚡ LOADXX — O DNA DO IPL

Esse cara decide:

  • qual nucleus usar
  • qual configuração carregar
  • qual PARMLIB seguir

🔹 Estrutura mental

LOADxx

aponta para:
- NUCLEUS
- PARMLIB
- CONFIG

🧨 Curiosidade

Um LOADxx pode subir vários sistemas no sysplex 😳


🚀 NIP — O CONSTRUTOR DO UNIVERSO

🔹 Nucleus Initialization Program

Ele:

  • inicializa memória
  • cria control blocks
  • cria address spaces

🔥 Resultado

transforma hardware em z/OS funcional


🧩 LINK PACK AREA (LPA) — ONDE TUDO FICA PRONTO

🔹 Tipos:

  • FLPA → fixo
  • MLPA → modificado
  • PLPA → paginável

💡 Tradução

LPA = “biblioteca carregada na memória para todo mundo usar”


👥 ADDRESS SPACES — O SISTEMA GANHA VIDA

🔥 Primeiro criado:

👉 MASTER (001 👀)


Depois:

  • JES
  • SMF
  • RSM
  • GRS
  • TRACE
  • DUMP

💡 Insight

Tudo nasce no IPL. Nada existia antes.


⚙️ PASSO A PASSO DO IPL (SIMPLIFICADO)

1. Power on
2. CPU lê DASD (SYSRES)
3. Carrega IPL text (IEAIPL00)
4. Carrega NUCLEUS
5. Executa NIP
6. Lê PARMLIB
7. Configura I/O (IODF)
8. Cria address spaces
9. Inicia subsistemas

👉 Boom 💥 sistema vivo


🔧 TUNING (onde os Jedi brilham)

🔥 Onde ajustar:

  • PARMLIB
  • LPA
  • PAGE datasets

💡 Exemplos:

  • mais memória → melhor performance
  • LPA otimizada → menos I/O
  • configuração errada → desastre

💀 TROUBLESHOOTING (quando tudo dá errado)

🔥 Problemas clássicos:

  • dataset não encontrado
  • erro no PARMLIB
  • device inexistente
  • LOADxx incorreto

🧨 Sintoma clássico:

👉 Disabled Wait Code


💡 Tradução

“Deu ruim antes do sistema existir.”


🧨 CURIOSIDADES QUE POUCOS SABEM

🤯 1. O sistema começa praticamente “cego”

Sem PARMLIB → nada funciona


🔥 2. O primeiro address space é 001

Nunca 000 (pegadinha de prova)


💀 3. IPL falha sem log amigável

Você ganha código e reza 😄


🧠 4. Tudo gira em torno de control blocks

Criados desde o início pelo NIP


🎯 RESUMO FINAL (nível padawan → jedi)

✔ IPL = nascimento do sistema

✔ SYS1 datasets = base de tudo

✔ PARMLIB = cérebro

✔ LOADxx = DNA

✔ NIP = construtor

✔ LPA = memória compartilhada

✔ Address spaces = vida


💥 FRASE FINAL

“Você acha que executa programas…
mas primeiro o z/OS precisa nascer — e esse nascimento é uma obra de engenharia absurda.”

 

segunda-feira, 26 de fevereiro de 2024

Resiliência IBM Z – A Arquitetura do IBM Z: Os Guardiões Invisíveis da Disponibilidade - Parte II

 

Bellacosa Mainframe apresenta resiliencia ibm z parte II

☕ Um Café no Bellacosa Mainframe

O Holocron da Resiliência IBM Z

Parte II – A Arquitetura do IBM Z: Os Guardiões Invisíveis da Disponibilidade

"Um Padawan COBOL normalmente enxerga apenas o programa. Um Mestre Mainframe enxerga toda a máquina que mantém esse programa vivo."

Depois de compreender os conceitos de Resiliência, RAS, SLA, RPO e RTO, chegou o momento de conhecer quem realmente sustenta toda essa arquitetura.

Quando um banco diz que seu sistema funciona 24 horas por dia, sete dias por semana, não é apenas mérito do COBOL, do CICS ou do Db2.

Existe uma verdadeira legião de componentes trabalhando silenciosamente para que milhões de usuários nunca percebam que processadores falham, discos apresentam defeitos, memórias são substituídas ou sistemas operacionais são reinicializados.

Nesta segunda parte do Holocron conheceremos os "heróis invisíveis" do IBM Z. Os tópicos desta seção correspondem aos componentes de arquitetura e manutenção presentes no glossário IBM Z: Processing Units (PUs), License Internal Code (LIC), PCIe Fanout, Hardware Management Console (HMC), Support Element (SE), First Failure Data Capture (FFDC), Runtime Diagnostics, Auto-IPL, Predictive Failure Analysis (PFA) e System Recovery Boost.


Muito Além de um Computador

Quando alguém olha um IBM Z pela primeira vez, normalmente vê apenas um enorme gabinete preto.

Mas o que existe ali dentro?

Na realidade...

Um IBM Z parece muito mais uma pequena cidade do que um computador.

Existe administração.

Existe segurança.

Existe manutenção.

Existe monitoramento.

Existe planejamento.

Existe redundância.

Enquanto um computador doméstico foi projetado para atender um único usuário, um IBM Z foi construído para atender milhões de pessoas simultaneamente.

É por isso que sua arquitetura é completamente diferente.


CPC – Central Processing Complex

Imagine um prédio comercial.

O prédio inteiro possui:

  • elevadores;

  • energia;

  • ar-condicionado;

  • segurança;

  • salas;

  • redes;

  • administração.

O CPC é exatamente isso.

Ele representa todo o computador IBM Z.

Não é apenas o processador.

É toda a infraestrutura física responsável pela execução do ambiente.

Quando um banco informa possuir quatro CPCs, significa que existem quatro grandes sistemas IBM Z operando em conjunto.

Para o desenvolvedor COBOL isso normalmente é invisível.

Seu programa continua funcionando independentemente do CPC em que foi iniciado.


Processing Units (PUs)

Agora imagine que o CPC seja um prédio.

As Processing Units seriam os funcionários especializados.

Nem todos executam a mesma função.

Existem processadores dedicados para diferentes cargas de trabalho.

Alguns são responsáveis pelo processamento tradicional.

Outros trabalham com criptografia.

Outros executam cargas Java.

Outros processam workloads elegíveis para zIIP.

Essa especialização melhora o desempenho e reduz custos de licenciamento.

Enquanto o desenvolvedor simplesmente executa um programa COBOL, o hardware decide qual recurso é mais adequado para aquela carga.


License Internal Code (LIC)

Todo computador possui firmware.

O IBM Z também.

Mas o LIC vai muito além de um simples BIOS.

Ele controla diversos recursos fundamentais do equipamento.

Podemos imaginá-lo como um sistema operacional "escondido", responsável por fazer toda a eletrônica conversar corretamente com o z/OS.

Grande parte da confiabilidade do IBM Z nasce justamente nesse nível extremamente baixo da arquitetura.

Quando o hardware detecta uma condição anormal, o LIC frequentemente consegue tratá-la antes mesmo que o sistema operacional perceba.


PCIe Fanout

No mundo moderno, praticamente tudo conversa através de PCI Express.

No IBM Z não é diferente.

O PCIe Fanout funciona como uma central inteligente de distribuição.

Ele conecta adaptadores de rede, aceleradores, dispositivos criptográficos e diversos outros componentes ao restante do sistema.

A diferença está na redundância.

Enquanto muitos servidores possuem poucos caminhos físicos, o IBM Z foi projetado para eliminar gargalos e pontos únicos de falha.


Hardware Management Console (HMC)

Imagine a cabine de comando de um grande navio.

É exatamente essa a função da HMC.

Ela é o centro administrativo do IBM Z.

Por meio dela os administradores conseguem:

  • iniciar sistemas;

  • desligar partições;

  • acompanhar alertas;

  • monitorar hardware;

  • configurar recursos;

  • analisar eventos.

Um programador COBOL provavelmente nunca utilizará diretamente uma HMC.

Mas praticamente tudo o que acontece no ambiente passa por ela.

É dali que nasce grande parte da administração do mainframe.


Support Element (SE)

Se a HMC é a cabine do comandante...

O Support Element é a oficina técnica.

Ele fornece acesso às funções internas de manutenção do equipamento.

É utilizado principalmente por especialistas da IBM e equipes de infraestrutura altamente qualificadas.

Ali residem funções críticas de diagnóstico e configuração que raramente são vistas por desenvolvedores.


First Failure Data Capture (FFDC)

Imagine que um carro apresente defeito.

Em vez de simplesmente apagar todas as informações...

Ele grava automaticamente:

  • velocidade;

  • temperatura;

  • rotação;

  • sensores;

  • posição do acelerador.

Foi exatamente isso que aconteceu no momento da falha.

O FFDC faz algo semelhante.

Quando ocorre um problema, ele captura imediatamente todas as informações necessárias para investigação.

Assim evita que evidências importantes sejam perdidas.

É um verdadeiro "fotógrafo" das falhas.


Runtime Diagnostics

Nem todos os problemas provocam uma queda do sistema.

Às vezes um programa entra em loop.

Uma tarefa começa a consumir CPU excessivamente.

Uma aplicação passa a responder lentamente.

O Runtime Diagnostics observa o comportamento do ambiente enquanto tudo continua funcionando.

Ele identifica sintomas antes que eles se transformem em incidentes graves.

É medicina preventiva aplicada ao sistema operacional.


Auto-IPL

IPL significa Initial Program Load.

Em outras palavras...

Inicializar o sistema operacional.

Antigamente esse processo dependia de intervenção humana.

Hoje, em muitos ambientes IBM Z, isso acontece automaticamente.

Se ocorrer uma falha previamente prevista, o Auto-IPL pode reiniciar o ambiente sem necessidade de um operador presente.

O tempo de recuperação diminui drasticamente.

E isso impacta diretamente o RTO.


Predictive Failure Analysis (PFA)

Talvez este seja um dos conceitos mais impressionantes.

Em vez de esperar um defeito...

O sistema tenta prever que ele acontecerá.

O PFA analisa tendências.

Temperaturas.

Erros recorrentes.

Estatísticas de funcionamento.

Com base nesses dados, consegue identificar componentes que apresentam sinais de desgaste antes da falha definitiva.

É praticamente uma manutenção preditiva aplicada ao mundo dos computadores.

Troca-se a peça antes que ela interrompa o negócio.


System Recovery Boost

Imagine um corredor que normalmente percorre uma maratona em ritmo constante.

Agora imagine que, nos últimos metros, ele receba uma descarga extra de energia.

É exatamente essa a ideia do System Recovery Boost.

Durante momentos críticos — como a inicialização do sistema ou a recuperação após uma falha — o IBM Z concede recursos adicionais temporários.

O objetivo é simples:

Recuperar o ambiente o mais rápido possível.

Essa aceleração reduz significativamente o tempo de indisponibilidade.


Speed Boost

O Speed Boost é um dos mecanismos do System Recovery Boost.

Durante eventos específicos, determinados processadores operam temporariamente com desempenho superior ao habitual.

Essa capacidade permite concluir etapas críticas mais rapidamente, reduzindo o tempo necessário para retornar à operação normal.


zIIP Boost

Muitas aplicações modernas utilizam processadores especializados chamados zIIPs.

Durante uma recuperação, essas cargas também recebem aceleração temporária.

Isso beneficia aplicações Java, Db2, XML, APIs REST, analytics e diversas cargas modernas executadas sobre o IBM Z.

O resultado é uma recuperação mais rápida sem necessidade de adquirir capacidade permanente adicional.


Quando Hardware e Software Trabalham Como Um Só

Uma das maiores diferenças entre o IBM Z e outras plataformas é que hardware e software não competem entre si.

Eles cooperam.

O LIC conversa constantemente com o hardware.

O hardware fornece informações ao HMC.

O HMC alerta administradores.

O FFDC registra evidências.

O Runtime Diagnostics detecta anomalias.

O PFA prevê falhas futuras.

O Auto-IPL acelera a recuperação.

O System Recovery Boost reduz o tempo de indisponibilidade.

Tudo isso acontece antes mesmo que o programador COBOL perceba qualquer alteração.


O Aprendizado do Padawan

Existe uma lição importante que todo desenvolvedor IBM Z aprende com o tempo.

O programa COBOL representa apenas a camada visível de uma engenharia extraordinária.

Por trás de um simples EXEC CICS LINK, de um SELECT no Db2 ou da leitura de um arquivo VSAM existe um ecossistema inteiro trabalhando para garantir disponibilidade, confiabilidade e recuperação rápida.

Compreender essa arquitetura ajuda o desenvolvedor a escrever aplicações mais eficientes, colaborar melhor com equipes de infraestrutura e entender por que o IBM Z continua sendo referência mundial em sistemas críticos.

No próximo capítulo do Holocron da Resiliência IBM Z, entraremos no coração da alta disponibilidade: Parallel Sysplex, Coupling Facility, WLM, SFM, ARM e GDPS, tecnologias que permitem que vários mainframes atuem como se fossem um único sistema, mantendo aplicações em funcionamento mesmo diante de falhas de grande porte.


sexta-feira, 13 de abril de 2007

O que é Address Space?

 

Bellacosa Mainframe e o conceito de address space

O que é Address Space?

Se existe um conceito que todo estudante de Mainframe precisa compreender logo no início, esse conceito é o Address Space.

Ele é uma das bases do funcionamento do z/OS e explica como milhares de programas conseguem executar ao mesmo tempo no IBM Z sem interferirem uns nos outros.

Embora o nome pareça complicado, a ideia é bastante simples.


Definição simples

Um Address Space (Espaço de Endereçamento) é uma área de memória virtual exclusiva onde um programa, um subsistema ou um serviço do z/OS é executado.

Cada Address Space possui:

  • sua própria memória;

  • seus próprios programas;

  • suas próprias variáveis;

  • seus próprios controles;

  • sua própria proteção.

Em outras palavras:

Cada programa executa em um "ambiente privado", sem acessar diretamente a memória dos outros programas.


Uma analogia simples

Imagine um grande prédio comercial.

Cada empresa possui um escritório próprio.

Dentro do escritório existem:

  • computadores;

  • documentos;

  • funcionários;

  • armários.

Os funcionários de uma empresa não entram livremente nas salas das outras.

No z/OS acontece exatamente isso.

Cada programa trabalha dentro do seu próprio escritório, chamado Address Space.


O que significa Address Space?

Em português:

Espaço de Endereçamento.

É o conjunto de endereços de memória que um programa pode utilizar durante sua execução.


Por que ele existe?

Imagine que dois programas estejam executando ao mesmo tempo.

Programa A:

Calcula salários

Programa B:

Processa PIX

Se ambos utilizassem a mesma memória física sem controle, um poderia sobrescrever os dados do outro.

O resultado seria:

  • corrupção de memória;

  • perda de dados;

  • travamentos;

  • ABENDs.

O Address Space evita esse problema.


Como funciona?

Imagine três programas.

COBOL
CICS
DB2

Cada um recebe seu próprio espaço.

+------------------+
| Address Space A  |
| Programa COBOL   |
+------------------+

+------------------+
| Address Space B  |
| CICS             |
+------------------+

+------------------+
| Address Space C  |
| DB2              |
+------------------+

Cada ambiente é isolado.


Memória Virtual

Os Address Spaces utilizam memória virtual.

Isso significa que o programa acredita possuir um enorme espaço de memória.

Na realidade, o z/OS faz o gerenciamento automaticamente.


Isolamento

Uma das maiores vantagens é a proteção.

Programa A

não consegue alterar

Programa B

Isso aumenta muito a segurança.


Quantos Address Spaces existem?

Depende do ambiente.

Um grande banco pode possuir milhares deles simultaneamente.

Exemplo:

  • JES2;

  • CICS;

  • DB2;

  • IMS;

  • MQ;

  • TCP/IP;

  • aplicações COBOL;

  • utilitários;

  • Started Tasks.

Cada componente normalmente executa em seu próprio Address Space.


O que existe dentro de um Address Space?

Normalmente encontramos:

  • programa executável;

  • memória de trabalho;

  • pilhas (Stacks);

  • buffers;

  • tabelas;

  • bibliotecas carregadas;

  • áreas de controle.

Tudo isso pertence apenas àquele Address Space.


Quem cria o Address Space?

O próprio z/OS.

Sempre que um JOB ou uma Started Task inicia, o sistema operacional cria automaticamente um novo espaço de endereçamento.


JOB Batch

Quando um JOB COBOL começa:

JES2

↓

Inicia JOB

↓

z/OS cria Address Space

↓

Programa executa

↓

JOB termina

↓

Address Space é removido

Started Tasks

Serviços permanentes normalmente possuem Address Spaces próprios.

Exemplos:

  • JES2;

  • VTAM;

  • TCP/IP;

  • DB2;

  • CICS;

  • RACF;

  • OMVS.

Esses espaços permanecem ativos durante muito tempo.


Address Space e CICS

Normalmente existe um Address Space para cada região CICS.

Dentro dele podem existir milhares de transações simultâneas.

As transações compartilham recursos internos do CICS, mas continuam protegidas pelo gerenciamento da região.


Address Space e DB2

O Db2 utiliza diversos Address Spaces.

Exemplo:

MSTR

DBM1

IRLM

DIST

Cada um possui funções específicas.


Como o z/OS protege a memória?

O hardware do IBM Z trabalha em conjunto com o sistema operacional.

Se um programa tentar acessar memória que não lhe pertence:

resultado:

Protection Exception

Ou outro tipo de ABEND.

Essa proteção é um dos pilares da confiabilidade do mainframe.


Benefícios

Segurança

Programas não interferem entre si.


Estabilidade

Um erro em uma aplicação normalmente não afeta as demais.


Escalabilidade

Milhares de programas podem executar simultaneamente.


Organização

Cada aplicação possui seu próprio ambiente de execução.


Quem trabalha com Address Spaces?

Diversos profissionais lidam com esse conceito:

  • Programadores COBOL;

  • Desenvolvedores PL/I;

  • Administradores CICS;

  • DBAs;

  • Sysprogs;

  • Operadores Mainframe;

  • Especialistas em Performance.


Curiosidades incríveis

1. O z/OS pode manter milhares de Address Spaces ativos

Grandes ambientes executam milhares de aplicações simultaneamente sem comprometer a estabilidade.


2. Cada região CICS normalmente possui seu próprio Address Space

Isso facilita o isolamento entre ambientes de produção, homologação e testes.


3. O Db2 utiliza vários Address Spaces

Cada um desempenha uma função específica, como gerenciamento, processamento de banco de dados, bloqueios e conexões distribuídas.


4. O conceito existe desde os primeiros sistemas de memória virtual da IBM

Ele evoluiu ao longo das décadas e continua sendo um dos principais motivos da alta confiabilidade do IBM Z.


Erros comuns de iniciantes

"Address Space é apenas memória RAM"

Não.

Ele representa um espaço de memória virtual, administrado pelo z/OS e mapeado para a memória física conforme necessário.


"Todos os programas compartilham a mesma memória"

Não.

Cada aplicação executa em seu próprio Address Space, garantindo isolamento e proteção.


"Quando um programa termina, o Address Space continua existindo"

Nem sempre.

Nos jobs batch, o Address Space normalmente é encerrado quando o processamento termina.

Já serviços permanentes, como CICS e Db2, permanecem ativos enquanto o subsistema estiver em execução.


Quando aprender Address Space?

Esse conceito deve ser estudado logo após compreender:

  • z/OS;

  • memória virtual;

  • Storage;

  • processamento Batch;

  • Started Tasks.

Ele servirá de base para entender CICS, Db2, IMS, desempenho, gerenciamento de memória e arquitetura do IBM Z.


Conclusão

O Address Space é um dos conceitos mais importantes do z/OS. Ele fornece um ambiente de memória virtual isolado para cada programa, job ou subsistema, permitindo que milhares de aplicações executem simultaneamente com segurança, estabilidade e alto desempenho.

Sem os Address Spaces, o IBM Mainframe não conseguiria oferecer o nível de confiabilidade, disponibilidade e escalabilidade que faz dele a plataforma escolhida por bancos, seguradoras, governos e grandes empresas em todo o mundo.


sábado, 7 de abril de 2007

O que é VSAM LDS?

 

Bellacosa Mainframe apresenta vsam lds

O que é VSAM LDS?

Quando estudamos VSAM (Virtual Storage Access Method), encontramos quatro tipos principais de datasets:

  • KSDS (Key Sequenced Data Set)

  • ESDS (Entry Sequenced Data Set)

  • RRDS (Relative Record Data Set)

  • LDS (Linear Data Set)

O LDS é o mais diferente de todos.

Enquanto KSDS, ESDS e RRDS armazenam registros organizados, o LDS trabalha apenas com uma sequência contínua de bytes.

Por isso ele é muito utilizado internamente pelo z/OS e por bancos de dados como o Db2.


Definição simples

O LDS (Linear Data Set) é um tipo de arquivo VSAM que armazena dados como um fluxo contínuo de bytes, sem dividir as informações em registros.

Ele não possui:

  • chave primária;

  • índice;

  • registros lógicos;

  • número relativo de registros.

Em vez disso, o programa acessa os dados por endereço ou deslocamento (offset).


Uma analogia simples

Imagine um enorme rolo de papel em branco.

Você pode escrever em qualquer posição.

Não existem:

  • páginas;

  • capítulos;

  • linhas numeradas.

Existe apenas um espaço contínuo.

O LDS funciona exatamente assim.


O que significa LDS?

LDS significa:

Linear Data Set

Em português:

Conjunto de Dados Linear.

Seu nome vem justamente do fato de os dados serem armazenados linearmente.


Como funciona?

Enquanto um KSDS é organizado assim:

Registro 1

Registro 2

Registro 3

O LDS funciona assim:

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

É apenas um bloco contínuo de armazenamento.

O sistema não sabe onde começa ou termina um registro.

Quem controla isso é a aplicação.


Quem organiza os dados?

No LDS, toda a responsabilidade fica com o programa.

Ele decide:

  • onde gravar;

  • onde ler;

  • qual o tamanho dos dados;

  • como interpretar cada informação.

O VSAM apenas fornece o espaço.


Como os dados são acessados?

O acesso normalmente ocorre por:

  • endereço;

  • offset;

  • página;

  • bloco.

Exemplo:

Offset 000000

↓

Offset 000512

↓

Offset 001024

↓

Offset 001536

O programa informa o deslocamento desejado.


Estrutura do LDS

+------------------------------------------------------+

Bloco contínuo de bytes

□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

+------------------------------------------------------+

Sem registros.

Sem índice.

Sem chave.


Como criar um LDS?

Normalmente utilizando IDCAMS.

Exemplo simplificado:

//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
 DEFINE CLUSTER (
   NAME(BELLA.DATABASE.LDS)
   LINEAR
   TRACKS(50 10)
 )
 /*

Observe a palavra:

LINEAR

Ela identifica um Linear Data Set.


O LDS possui registros?

Não.

Essa é sua principal característica.

Diferente dos demais VSAM:

TipoPossui registros?
KSDSSim
ESDSSim
RRDSSim
LDSNão

O LDS possui chave?

Não.

Também não possui:

  • índice;

  • RBA lógico;

  • RRN.

Ele trabalha apenas com bytes.


Onde o LDS é utilizado?

O uso mais famoso é no:

Db2 para z/OS

Os Tablespaces do Db2 utilizam Linear Data Sets.

Isso permite que o próprio Db2 organize:

  • páginas;

  • índices;

  • buffers;

  • tabelas.


Outros usos

Também aparece em:

  • bancos de dados;

  • sistemas de alto desempenho;

  • aplicações especializadas;

  • componentes internos do z/OS.


Como o Db2 utiliza LDS?

Imagine uma tabela com milhões de clientes.

O Db2 controla:

  • páginas;

  • buffers;

  • linhas;

  • índices.

O LDS apenas fornece o espaço físico.

É como um grande terreno vazio.

Quem constrói os edifícios é o Db2.


Vantagens

Alto desempenho

Ideal para grandes bancos de dados.


Flexibilidade

O aplicativo controla toda a organização.


Excelente para SGBDs

Perfeito para Db2.


Grande capacidade

Pode armazenar enormes volumes de dados.


Desvantagens

Complexidade

O desenvolvedor precisa controlar toda a estrutura.


Não indicado para aplicações COBOL tradicionais

Normalmente utiliza-se KSDS.


Sem recursos automáticos

Não existe:

  • chave;

  • pesquisa;

  • índice.

Tudo deve ser implementado pela aplicação.


LDS x KSDS

LDSKSDS
Sem registrosPossui registros
Sem chaveChave primária
Sem índiceÍndice automático
Bytes contínuosDados organizados
Ideal para Db2Ideal para aplicações COBOL

LDS x ESDS

LDSESDS
Fluxo contínuoRegistros sequenciais
Sem estruturaEstrutura definida
OffsetRBA

LDS x RRDS

LDSRRDS
Bytes contínuosNúmero relativo
Sem registrosRegistros fixos

Curiosidades incríveis

1. O Db2 utiliza intensamente LDS

Grande parte dos Tablespaces modernos é armazenada em Linear Data Sets.


2. O z/OS trata o LDS de forma diferente dos demais VSAM

Ele não interpreta o conteúdo.

Apenas administra o espaço físico.


3. O LDS pode armazenar bilhões de bytes

É ideal para aplicações de grande porte.


4. Muitos programadores COBOL nunca trabalham diretamente com LDS

Quem normalmente utiliza esse tipo de dataset são administradores de Db2, especialistas em storage e desenvolvedores de sistemas de baixo nível.


Erros comuns de iniciantes

"LDS é igual KSDS"

Não.

O KSDS organiza registros.

O LDS não possui registros.


"Posso fazer READ KEY"

Não.

Não existe chave.


"O VSAM controla os dados"

No LDS, quem controla a estrutura é a aplicação.


Quando escolher LDS?

Escolha um LDS quando:

  • estiver desenvolvendo sistemas de armazenamento especializados;

  • precisar controlar diretamente o layout físico dos dados;

  • trabalhar com Db2 ou outros bancos de dados que utilizem Linear Data Sets;

  • precisar de máximo desempenho e flexibilidade.

Para aplicações COBOL tradicionais, normalmente o KSDS continua sendo a melhor escolha.


Conclusão

O VSAM LDS (Linear Data Set) é o tipo mais diferente da família VSAM.

Ao contrário dos demais formatos, ele não trabalha com registros, chaves ou índices. Em vez disso, oferece um espaço linear de armazenamento, deixando para a aplicação toda a responsabilidade pela organização dos dados.

Essa característica faz do LDS a base ideal para bancos de dados como o Db2 para z/OS, que utilizam sua flexibilidade para gerenciar milhões de registros com alto desempenho e eficiência. Para quem deseja compreender profundamente a arquitetura de armazenamento do IBM Mainframe, conhecer o LDS é um passo importante na jornada de aprendizado.


sábado, 17 de março de 2007

Hardware Mainframe IBM Z: Conheça Todos os Componentes

 

Bellacosa Mainframe e o hardware mainframe

Hardware Mainframe IBM Z: Conheça Todos os Componentes

Quando falamos em um Mainframe IBM Z, muitas pessoas imaginam apenas um "computador gigante". Na realidade, ele é um conjunto extremamente sofisticado de componentes projetados para entregar:

✅ Disponibilidade próxima de 100%

✅ Segurança de nível bancário

✅ Processamento massivo

✅ Escalabilidade extrema

✅ Alta redundância


Visão Geral

Um Mainframe moderno é composto por:

┌─────────────────────┐
│ Processadores       │
├─────────────────────┤
│ Memória             │
├─────────────────────┤
│ Storage             │
├─────────────────────┤
│ Canais I/O          │
├─────────────────────┤
│ Rede                │
├─────────────────────┤
│ Criptografia        │
├─────────────────────┤
│ Energia             │
├─────────────────────┤
│ Refrigeração        │
└─────────────────────┘

Central Processor Complex (CPC)

O coração do Mainframe.

Também chamado de:

CPC
Central Processor Complex

Contém:

  • CPUs

  • Memória

  • Cache

  • Canais de I/O

  • Processadores auxiliares


Processadores Principais (CP)

São os processadores de propósito geral.

Conhecidos como:

CP
Central Processor

Executam:

  • COBOL

  • PL/I

  • Java

  • CICS

  • IMS

  • DB2

  • z/OS


Exemplo

Aplicação COBOL
        ↓
       CP
        ↓
Resultado

Núcleos (Cores)

Nos modelos atuais existem dezenas ou centenas de núcleos.

Exemplo:

CP1
CP2
CP3
CP4
...

Cada núcleo executa milhares de threads.


Processadores Auxiliares

Um dos diferenciais do Mainframe.

Eles descarregam trabalho dos CPs.


zIIP

z Integrated Information Processor

Muito utilizado atualmente.

Executa:

  • DB2

  • Java

  • XML

  • JSON

  • Analytics

  • APIs


Exemplo:

DB2 Query
      ↓
     zIIP

Economiza licenciamento.


zAAP

z Application Assist Processor

Criado para Java.

Hoje muitas funções foram absorvidas pelo zIIP.


IFL

Integrated Facility for Linux

Processador dedicado para Linux.

Executa:

Ubuntu
RHEL
SUSE
Debian

sobre:

LinuxONE
z/VM
KVM

SAP

System Assist Processor

Executa tarefas internas.

Exemplos:

  • Gerenciamento

  • Sincronização

  • Monitoramento


Crypto Express

Processadores criptográficos dedicados.

Executam:

  • AES

  • RSA

  • ECC

  • TLS

  • Certificados

Sem impactar CPUs principais.


Memória RAM

Mainframes modernos possuem:

Terabytes
de memória

Características:

✅ ECC

✅ Correção automática

✅ Redundância

✅ Hot Swap


Cache

Existem múltiplos níveis.

L1
L2
L3
L4

Objetivo:

Reduzir acesso à memória principal.


Storage

Armazenamento corporativo.


DASD

Direct Access Storage Device

Equivalente aos discos.

Hoje geralmente:

Flash
SSD
NVMe

IBM DS8000

Storage mais comum em Mainframe.

Capaz de armazenar:

Petabytes

de informação.


Estrutura

Mainframe
     ↓
FICON
     ↓
DS8000

FICON

Fiber Connection

Protocolo principal de comunicação Storage/Mainframe.

Substituiu o ESCON.


Velocidades:

16 Gbps
32 Gbps
64 Gbps

Canais de I/O

Grande diferencial do Mainframe.

Enquanto servidores comuns usam CPU para I/O:

CPU
 ↓
Disco

No Mainframe:

CPU
 ↓
Canal
 ↓
Controladora
 ↓
Storage

Resultado:

Menos carga nas CPUs.


CHPID

Channel Path Identifier

Identifica caminhos de I/O.


OSA

Open Systems Adapter

Placa de rede Mainframe.

Conecta:

TCP/IP
Ethernet
Cloud
Internet

HiperSockets

Rede virtual interna.

Comunicação:

LPAR
 ↔
LPAR

Sem sair do equipamento.


Velocidade extremamente alta.


Comunicação de Rede

Protocolos suportados:

  • TCP/IP

  • IPv4

  • IPv6

  • TLS

  • HTTPS

  • FTP

  • MQ

  • Kafka


Controladores de Rede

Possuem:

10 Gb
25 Gb
40 Gb
100 Gb

e superiores.


LPARs

Logical Partitions

Virtualização nativa.


Exemplo:

IBM Z
 │
 ├── LPAR1 z/OS
 ├── LPAR2 Linux
 ├── LPAR3 Teste
 └── LPAR4 Produção

PR/SM

Processor Resource/System Manager

Hypervisor embarcado.

Responsável pelas LPARs.


z/VM

Camada adicional de virtualização.

Pode executar:

Milhares de VMs Linux

LinuxONE

Utiliza processadores IFL.

Executa:

  • OpenShift

  • Docker

  • Kubernetes

  • IA


Energia

Mainframes possuem múltiplas fontes.

Fonte A
Fonte B
Fonte C

Características:

✅ Redundância

✅ Hot Swap

✅ Failover automático


UPS

Normalmente conectado a sistemas de energia ininterrupta.


Refrigeração

Mainframes modernos utilizam:

Ar Forçado

Modelos menores.


Refrigeração Líquida

Modelos maiores.


Fluxo:

Processador
     ↓
Cold Plate
     ↓
Água Refrigerada
     ↓
Trocador de Calor

Sensores

Centenas de sensores monitoram:

  • Temperatura

  • Energia

  • Vibração

  • Umidade


Cabos

Existem vários tipos.


FICON

Storage.


Ethernet

Rede.


Fibre Channel

SAN.


HiperSockets

Interno.


Cabos de Energia

Redundantes.


Criptografia Integrada

Os processadores IBM Telum possuem:

Criptografia embarcada

Executam:

  • TLS

  • VPN

  • Open Banking

  • PIX


IBM Telum

Processador atual da família IBM Z.

Características:

✅ IA embarcada

✅ Criptografia

✅ Cache gigante

✅ Alta frequência


Exemplo Completo

App Mobile
      ↓
Internet
      ↓
OSA
      ↓
z/OS Connect
      ↓
CP / zIIP
      ↓
CICS
      ↓
DB2
      ↓
FICON
      ↓
DS8000

Componentes Resumidos

ComponenteFunção
CPCPU principal
zIIPProcessamento auxiliar
IFLLinux
SAPServiços internos
Crypto ExpressCriptografia
RAMMemória
CacheAceleração
DASDArmazenamento
DS8000Storage corporativo
FICONComunicação Storage
OSARede
HiperSocketsRede interna
LPARVirtualização
PR/SMHypervisor
z/VMVirtualização Linux
TelumProcessador IBM Z

Curiosidade

Um único IBM Z moderno pode:

  • Executar milhares de máquinas virtuais

  • Processar milhões de transações por segundo

  • Possuir dezenas de TB de memória

  • Armazenar petabytes de dados

  • Operar continuamente por anos sem parada planejada

Por isso, bancos, bolsas de valores, governos e seguradoras continuam utilizando Mainframes como plataforma principal para suas aplicações mais críticas.