☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta address space. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta address space. Mostrar todas as mensagens

sábado, 7 de fevereiro de 2026

🔥 SEU JOB NÃO RODA… ELE DISPUTA SOBREVIVÊNCIA 💀 O que o z/OS faz nos bastidores enquanto você “só executa um COBOL”

 

Bellacosa Mainframe apresenta a gestão de tarefas no z/os

🔥 SEU JOB NÃO RODA… ELE DISPUTA SOBREVIVÊNCIA 💀

O que o z/OS faz nos bastidores enquanto você “só executa um COBOL”

Você digita um JCL, dá submit e pensa:
👉 “beleza, agora é só esperar o output”

Errado.

No z/OS, seu job entra em um ecossistema competitivo, onde:

  • CPU é disputada
  • memória é compartilhada
  • prioridades são negociadas
  • o sistema decide tudo

Se você quer sair do nível “usuário de mainframe” e virar engenheiro de sistema, esse é o mapa mental que muda o jogo 👊🔥


🧠 1. O COMEÇO — SUBMIT NÃO É EXECUÇÃO

Quando você faz submit:

//JOB ...

👉 seu job NÃO executa.


🔹 O que acontece de verdade

  • JES recebe
  • vai pro spool
  • ganha um número
  • entra numa fila
  • espera um initiator

🔥 Tradução Bellacosa

“Submit é só entrar na fila do sistema.”


💡 Exemplo real

Você tem 100 jobs na fila…

👉 seu job pode esperar minutos ou horas


⚙️ 2. JOB → TASK (A TRANSFORMAÇÃO INVISÍVEL)

O z/OS não trabalha com “jobs”.

👉 Ele trabalha com:

TASKS (TCBs)


🔹 Como funciona

JOB → STEPS → TASKS (TCB)

Cada step vira uma unidade executável.


🧨 Curiosidade

Um job pode gerar várias tasks simultâneas.


⚡ 3. DISPATCHER — O “DEUS DO CPU”

Esse é o cara mais importante do sistema.


🔹 Função

Decidir:

“Quem roda AGORA?”


🔥 Como ele faz isso

  • varre a fila (WUQ)
  • pega TCB ou SRB
  • escolhe o de maior prioridade
  • carrega contexto
  • entrega CPU

💡 Insight poderoso

O dispatcher troca tarefas milhares de vezes por segundo


🧠 Tradução

CPU nunca fica “presa” a um programa


🧩 4. TCB vs SRB — A BRIGA INTERNA

🔹 TCB

  • usado por aplicações (COBOL 👀)
  • pode ser interrompido

🔹 SRB

  • usado pelo sistema
  • maior prioridade
  • execução mais rápida

🔥 Tradução Bellacosa

SRB é o “VIP do sistema”
TCB é o trabalhador comum 😄


🧠 5. ENCLAVES — O NÍVEL CORPORATIVO

Aqui o sistema evolui de técnico → negócio.


🔹 O que é?

Um conjunto de tarefas:

👉 espalhadas em vários address spaces
👉 tratadas como uma unidade


🔥 Exemplo real

App Web → WAS → CICS → DB2

👉 tudo isso vira um enclave


💡 Insight

O z/OS não gerencia código… gerencia transações de negócio


🖥️ 6. PR/SM — O MESTRE DO HARDWARE

Antes do z/OS, existe:

👉 PR/SM (hypervisor)


🔹 Ele faz:

  • divide hardware em LPARs
  • entrega CPU virtual
  • controla recursos

🔥 Relação

Hardware → PR/SM → z/OS → Task

🧨 Curiosidade

Seu z/OS pode não saber qual CPU física está usando 😳


⚡ 7. CPU MANAGEMENT — ONDE PERFORMANCE NASCE

🔹 Conceitos:

  • HyperDispatch
  • afinidade CPU/memória
  • otimização de cache

💡 Insight

Rodar perto do dado = menos latência


🔥 Tradução Bellacosa

Não é só rodar… é rodar no lugar certo


👥 8. ADDRESS SPACES — O UNIVERSO ISOLADO

Cada coisa roda em seu próprio espaço:

  • Batch
  • TSO
  • Started Task

🔥 Dentro deles:

  • TCBs
  • subtasks
  • memória isolada

💡 Exemplo

Um batch:

Initiator → cria address space → cria TCB → executa

🔗 9. DYNAMIC LINKAGE — COMO OS PROGRAMAS SE CONECTAM

🔹 Comandos principais:

  • LINK
  • LOAD
  • ATTACH
  • XCTL

🔥 O que fazem?

  • chamam programas
  • carregam módulos
  • transferem controle

💡 Ordem de busca:

  1. memória (LPA)
  2. JOBLIB/STEPLIB
  3. LINKLIST

🧨 Easter Egg

Se está na LPA… é MUITO mais rápido


🧠 10. WLM — O VERDADEIRO CHEFE

🔥 Workload Manager

Define:

  • prioridade
  • objetivos
  • distribuição de CPU

💡 Exemplo real

Tipo de workloadPrioridade
pagamento onlinealta
batch relatóriobaixa

🔥 Tradução Bellacosa

O sistema não atende quem pede… atende quem importa


🔒 11. SERIALIZATION — EVITANDO O CAOS

🔹 Problema:

2 jobs querem o mesmo recurso


🔹 Solução:

  • ENQ / DEQ
  • GRS

💡 Exemplo

Dois jobs acessando dataset:

👉 um espera


🧨 CURIOSIDADES (NÍVEL ROOT)

🤯 1. Seu job pode nunca rodar

Se prioridade for baixa


🔥 2. CPU pode trocar de task milhares de vezes

Você nem percebe


💀 3. SRB pode interromper seu programa

Sem você saber


🧠 4. Um único negócio pode rodar em vários address spaces

(enclave)


⚙️ PASSO A PASSO REAL (SIMPLIFICADO)

Submit Job

JES spool

Fila de execução

Initiator pega job

Cria Address Space

Cria TCB

Dispatcher escolhe

CPU executa

WLM ajusta prioridade

Output no spool

🎯 RESUMO FINAL

✔ Job vira task

✔ Task disputa CPU

✔ Dispatcher decide

✔ WLM prioriza

✔ PR/SM gerencia hardware

✔ Enclave agrupa negócio


💥 FRASE FINAL

“Você não executa um job no mainframe…
você entra numa competição onde o z/OS decide se você merece rodar.”


 

terça-feira, 12 de agosto de 2025

O que é Address Space?

 

Bellacosa Mainframe 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:



Bellacosa Mainframe e os tipos de address space em mainframe

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.



quinta-feira, 14 de julho de 2022

☕💥 Arrays em COBOL: O Poder Oculto do OCCURS, SSRANGE e a Guerra Contra a Invasão de Memória

 

Bellacosa Mainframe e as tabelas internas no COBOL occurs e arrays

☕💥 Arrays em COBOL: O Poder Oculto do OCCURS, SSRANGE e a Guerra Contra a Invasão de Memória

Ou como evitar transformar seu Address Space em um filme de terror para Sysprogs



Introdução

Existe um momento na vida de todo desenvolvedor COBOL júnior em que ele descobre duas verdades universais:

A primeira é que OCCURS parece simples até deixar de ser simples.

A segunda é que existe uma entidade maligna chamada:

SSRANGE

capaz de transformar uma manhã tranquila em uma reunião emergencial envolvendo desenvolvimento, suporte, infraestrutura, DBA, operador e um sysprog segurando uma caneca de café já fria.

E tudo isso por causa de um pequeno detalhe:

MOVE WS-NOME(9999)

quando a tabela possui apenas:

OCCURS 100 TIMES.

Bem-vindo ao fascinante mundo das tabelas COBOL.


Capítulo 1 – O que é OCCURS?

OCCURS é o mecanismo utilizado pelo COBOL para criar estruturas repetitivas.

Em linguagens modernas chamaríamos isso de:

  • Array

  • Vetor

  • Lista fixa

  • Matriz

Exemplo:

01 CLIENTES.

   05 CLIENTE OCCURS 10 TIMES.

      10 NOME PIC X(30).
      10 IDADE PIC 99.

Memória:

CLIENTE(1)
CLIENTE(2)
CLIENTE(3)
...
CLIENTE(10)

COBOL simplesmente reserva um bloco contínuo.


A origem histórica

Década de 60.

Memória era absurdamente cara.

IBM 1401

4 KB

IBM System/360

256 KB

370

1 MB

Não existia:

  • Java Collections

  • Python List

  • C++ Vector

Era necessário reservar memória antecipadamente.

Daí nasceu:

OCCURS

Curiosidade histórica

Os engenheiros da IBM chamavam essas estruturas de:

Table Handling

Muito antes da expressão Array Processing se popularizar.


Capítulo 2 — Como a memória é organizada

Exemplo:

01 TAB.

   05 ITEM OCCURS 5 TIMES.

      10 CODIGO PIC 9(5).

Cada item ocupa:

5 bytes

Total

25 bytes

Layout:

0000 ITEM(1)
0005 ITEM(2)
0010 ITEM(3)
0015 ITEM(4)
0020 ITEM(5)

Acesso:

MOVE ITEM(3) TO WS-X

COBOL faz:

Base + ((3-1)*5)

Capítulo 3 – O Terror do Out of Bounds

Tabela:

05 CLIENTE OCCURS 100 TIMES.

Código:

MOVE NOME(101)

Problema.

A posição não existe.


Antigamente

Compilador:

NOSSRANGE

Padrão.

Nenhuma verificação.

Resultado:

Leitura aleatória.

Sobrescrever memória.

Corrupção.


O verdadeiro vilão

Imagine:

01 TABELA.

05 DADOS OCCURS 100 TIMES.

05 FLAG-FINAL PIC X.

Erro:

MOVE "S" TO DADOS(101)

Na prática:

FLAG-FINAL = S

ou pior.

Modifica outra estrutura.


Isso é invasão de memória?

Sim.

Tecnicamente:

Buffer overflow

Memory overwrite

Storage corruption


Capítulo 4 — Address Space

No zOS cada Job possui.

Address Space.

Exemplo

JOB1234



Private Area


LSQA


SWA


Subpools


Heap


Stack

Seu programa COBOL vive ali.


Se escrever fora da tabela:

pode corromper:

Working Storage

Heap

LE Runtime

Control Blocks


Em casos extremos:

S0C4

S878

U4038


Capítulo 5 — SSRANGE

A melhor invenção desde o café expresso.

Compilação:

SSRANGE

ou

CBL SSRANGE

Exemplo

MOVE WS-NOME(101)

Resultado:

Abend imediato.

Mensagem:

IGZxxxx

Subscript out of range


Excelente para:

Homologação

Teste

QA


Produção?

Normalmente:

NOSSRANGE

Performance melhor.


Dica Bellacosa

Desenvolvimento

SSRANGE

Produção

NOSSRANGE


Capítulo 6 — Índices

Ruim:

77 WS-I PIC 999.

Melhor:

05 CLIENTE OCCURS 100 TIMES
   INDEXED BY IDX.

SET

SET IDX TO 1

Próximo

SET IDX UP BY 1

Anterior

SET IDX DOWN BY 1

Por que índice é melhor?

Subscript:

CLIENTE(I)

Cálculo toda vez.


Index

Endereço pronto.

Ponteiro interno.

Mais rápido.


Capítulo 7 – Navegação

Crescente

SET IDX TO 1


PERFORM UNTIL IDX > MAX

PROCESSA

SET IDX UP BY 1

END-PERFORM

Decrescente

SET IDX TO MAX


PERFORM UNTIL IDX = 0


PROCESSA


SET IDX DOWN BY 1


END-PERFORM

Muito usado em:

Compressão

Ordenação

Rollback


Capítulo 8 — SEARCH

Busca sequencial.

SEARCH CLIENTE


AT END


DISPLAY "NAO ACHOU"


WHEN ID = WS-ID


DISPLAY NOME

END-SEARCH

Complexidade

O(n)


100 mil registros.

50 mil leituras médias.


SEARCH ALL

Arma secreta.

Busca binária.


Tabela obrigatoriamente ordenada.

SEARCH ALL CLIENTE


WHEN ID(IDX)=WS-ID


DISPLAY "ACHOU"

END-SEARCH

Complexidade

O(log n)


1000000 itens.

Comparações:

~20


Magia matemática.


Capítulo 9 — OCCURS DEPENDING ON

Tabela variável.

05 QTDE PIC 9(4).


05 CLIENTE OCCURS 1 TO 1000 TIMES

DEPENDING ON QTDE.

Muito usado em:

MQ

Copybooks

APIs

Arquivos


Capítulo 10 — Bidimensional

Exemplo.

Agência x Dia

05 MOVIMENTO.

10 AG OCCURS 100.

15 DIA OCCURS 31.

20 TOTAL PIC 9(10).

Uso:

TOTAL(10,15)

Agência 10.

Dia 15.


Tridimensional

ANO

MES

DIA
VENDAS(2026,6,23)

N dimensões

Teoricamente ilimitado.

Exemplo.

Banco.

País

Estado

Agência

Conta

Produto

Dia


Capítulo 11 — Ordenação

Tabela ordenada.

ASCENDING KEY

Muito útil para:

SEARCH ALL

Caches

Lookup


Capítulo 12 – Quando usar tabela

Excelente:

Parâmetros

Cache

Código UF

Tabela IR

CEP

Conversões


Ruim:

Milhões registros.


Melhor:

DB2

VSAM

IMS


Capítulo 13 – Performance

SEARCH

O(n)

SEARCH ALL

O(log n)

Index

Muito rápido

Subscript

Mais lento

SSRANGE

Seguro

NOSSRANGE

Rápido


Easter Egg COBOL

Existe uma lenda entre veteranos de mainframe.

Diz-se que em algum datacenter esquecido dos anos 80 existe um programa COBOL compilado com:

NOSSRANGE
OPT(2)
FASTSRT
ARITH(EXTEND)

executando desde 1987.

Ninguém sabe exatamente o que ele faz.

Ninguém possui o código-fonte.

Ninguém ousa recompilar.

Mas toda madrugada, às 02h17, ele produz um relatório financeiro perfeito, movimenta bilhões de dólares e desaparece novamente nas profundezas do JES2.

Os sysprogs apenas observam o spool, tomam um gole de café e repetem o antigo mantra do reino z/OS:

"Se está funcionando há 39 anos, não toque."


Conclusão

OCCURS é muito mais do que um simples array.

É uma das construções mais antigas, elegantes e eficientes já criadas para processamento em lote de grande volume.

Dominar:

  • OCCURS

  • INDEXED BY

  • SET

  • SEARCH

  • SEARCH ALL

  • SSRANGE

  • OCCURS DEPENDING ON

  • Tabelas multidimensionais

  • Navegação UP e DOWN

  • Layout de memória

  • Address Space do z/OS

é um dos marcos que separam o Padawan COBOL do Cavaleiro do Batch Jedi Council.

Porque no universo do Mainframe existe uma verdade absoluta:

"DB2 pode falhar, CICS pode reciclar, VSAM pode corromper, mas um OCCURS acessado fora dos limites sempre encontrará uma maneira criativa de arruinar o dia de alguém."

segunda-feira, 18 de junho de 2018

IBM Mainframe Discovery : Capítulo VI — O Grande Maestro Invisível

 

Bellacosa Mainframe apresenta o ibm mainframe parte vi

☕ Um Café no Bellacosa Mainframe

Capítulo VI — O Grande Maestro Invisível

O Supervisor do z/OS: Quem Realmente Comanda a Nave?


TERCEIRA REGRA DAS GRANDES CIVILIZAÇÕES

Se você entrar na ponte de comando de uma gigantesca nave espacial e encontrar todos gritando ao mesmo tempo...

...corra.

Porque alguém perdeu o controle.

Agora imagine uma nave com:

  • cinco milhões de passageiros;

  • centenas de milhares de robôs;

  • milhares de laboratórios;

  • dezenas de hangares;

  • milhões de mensagens por segundo.

Mesmo assim...

Tudo funciona em perfeita ordem.

Quem organiza tudo isso?

Um personagem quase invisível.

Ele nunca aparece nas propagandas.

Nunca recebe prêmios.

Nunca é lembrado quando tudo funciona.

Mas basta ele falhar...

...e toda a galáxia entra em pânico.

Seu nome é:

Supervisor.

Bem-vindo ao cérebro do z/OS.


O Mito do Sistema Operacional

Quando um Padawan COBOL ouve falar em sistema operacional, normalmente imagina algo parecido com Windows.

Uma área de trabalho.

Ícones.

Mouse.

Papel de parede.

Lixeira.

O z/OS sorri discretamente.

Porque ele nunca foi criado para ser bonito.

Foi criado para manter bancos funcionando às três horas da manhã.

Enquanto você dorme.


Imagine uma Cidade Planetária

Esqueça computadores.

Imagine uma cidade que nunca dorme.

Ela possui:

  • hospitais;

  • aeroportos;

  • metrôs;

  • usinas;

  • polícia;

  • bombeiros;

  • telecomunicações;

  • bancos;

  • universidades.

Milhões de pessoas vivem ali.

Todas querem atenção.

Ao mesmo tempo.

Se não existir alguém coordenando tudo...

o caos será inevitável.

Esse coordenador é o Supervisor.


O Maestro Invisível

Imagine uma orquestra com:

200 mil músicos.

Cada um toca um instrumento diferente.

Violinos.

Pianos.

Metais.

Percussão.

Corais.

Agora imagine que ninguém pode parar.

Nunca.

Quem garante que todos toquem em perfeita sincronia?

O maestro.

O Supervisor do z/OS exerce exatamente esse papel.

Segundo Wilhelm G. Spruth, o Supervisor controla os recursos fundamentais do sistema, administra interrupções, coordena a execução dos programas e fornece os serviços básicos necessários para todo o restante do sistema operacional funcionar.


O Primeiro Ser a Despertar

Quando um IBM Z inicia...

quem acorda primeiro?

Não é o COBOL.

Nem o Db2.

Nem o CICS.

Nem o TSO.

O primeiro a despertar é o núcleo do sistema.

Chamado tradicionalmente de:

Nucleus.

Imagine o reator principal da nave.

Sem ele...

nada acontece.


O Nucleus — O Reator Central

O Nucleus contém os componentes absolutamente essenciais.

Ali vivem rotinas responsáveis por:

  • gerenciamento de memória;

  • tratamento de interrupções;

  • escalonamento;

  • proteção;

  • comunicação com hardware;

  • serviços básicos.

É o coração pulsante do z/OS.

Por isso ele permanece residente em memória durante toda a execução do sistema.


O Grande Mapa da Cidade

Agora imagine uma cidade gigantesca.

Você precisa saber exatamente onde está:

cada prédio.

cada rua.

cada ponte.

cada estação.

No z/OS esse mapa chama-se:

Memória Virtual.

Mas cuidado.

Ela não é apenas um monte de bytes.

Ela é cuidadosamente organizada.


Os Bairros da Galáxia

A memória do z/OS parece uma cidade cuidadosamente planejada.

Existem bairros com funções específicas.

Entre eles:

CSA.

SQA.

LPA.

PLPA.

FLPA.

MLPA.

Cada um possui regras próprias.

Cada um recebe moradores específicos.

Misturar tudo seria como construir um aeroporto dentro de uma biblioteca.


CSA — A Praça Central

CSA significa:

Common Service Area.

Imagine uma enorme praça pública.

Todos podem passar por ela.

Diversos componentes compartilham informações ali.

Mas exatamente por ser compartilhada...

ela precisa ser extremamente protegida.


SQA — A Área Militar

Agora imagine um setor altamente restrito.

Não entram turistas.

Nem curiosos.

Apenas oficiais autorizados.

Esse setor chama-se:

System Queue Area.

Ali ficam estruturas críticas utilizadas pelo próprio sistema operacional.

Qualquer corrupção nessa região pode comprometer toda a nave.


LPA — A Biblioteca Universal

Imagine uma biblioteca gigantesca.

Milhares de pessoas consultam o mesmo livro.

Seria absurdo imprimir uma cópia para cada uma.

No z/OS surgiu uma ideia brilhante.

Carregar apenas uma única cópia.

Todos compartilham.

Essa biblioteca recebe o nome de:

Link Pack Area.

Ela contém módulos amplamente utilizados por diversas aplicações.

Economia de memória.

Maior desempenho.

Mais estabilidade.


Address Spaces — Pequenos Universos Paralelos

Chegamos a um dos conceitos mais fascinantes do Mainframe.

Imagine um gigantesco prédio.

Cada apartamento representa um universo independente.

Os moradores podem decorar como quiserem.

Mover móveis.

Trocar cortinas.

Pintar paredes.

Mas nunca atravessam magicamente para o apartamento vizinho.

Cada apartamento é um:

Address Space.

Segundo Spruth, o z/OS utiliza Address Spaces independentes para isolar aplicações e proteger o sistema, permitindo que milhares de ambientes coexistam simultaneamente.


Por Que Isso É Importante?

Imagine um programa COBOL contendo um erro grave.

Em muitos sistemas antigos...

ele poderia comprometer todo o computador.

No z/OS...

normalmente ele derruba apenas seu próprio universo.

Os vizinhos continuam vivendo normalmente.

Essa é uma enorme diferença filosófica.


Tarefas Dentro das Tarefas

Agora imagine uma universidade.

Cada faculdade possui dezenas de cursos.

Cada curso possui centenas de alunos.

No z/OS ocorre algo semelhante.

Dentro de um Address Space existem:

Tasks.

Subtasks.

TCBs.

SRBs.

É uma organização hierárquica extremamente eficiente.


Dispatcher — O Controlador de Tráfego

Imagine um aeroporto.

Dezenas de aviões querem pousar.

Centenas desejam decolar.

Quem decide?

A torre.

No z/OS ela chama-se:

Dispatcher.

Sua missão é extremamente simples.

Escolher:

quem executa.

quando executa.

quanto tempo executa.

Depois passa a vez ao próximo.

Spruth descreve o Dispatcher como o responsável por distribuir o tempo de CPU entre as diferentes unidades de trabalho do sistema.


Scheduler — O Mestre das Filas

Agora imagine um restaurante gigantesco.

Milhares de pedidos chegam.

Quem organiza a cozinha?

O Scheduler.

No z/OS ele coordena prioridades.

Urgências.

Dependências.

Recursos.

Nada acontece por acaso.


Interrupções — O Telefone Vermelho

Imagine que durante uma missão alguém aperta um botão de emergência.

O comandante interrompe imediatamente a conversa.

Primeiro resolve a emergência.

Depois continua.

As interrupções funcionam exatamente assim.

Elas avisam ao Supervisor que algum evento importante ocorreu.

Disco terminou.

Rede respondeu.

Timer expirou.

Erro aconteceu.

O Supervisor reorganiza tudo em microssegundos.


Problemas Também Entram na Fila

Curiosamente...

até os problemas seguem regras.

Quando ocorre um erro:

o Supervisor registra.

analisa.

protege o restante do sistema.

gera informações para diagnóstico.

Nada acontece de forma aleatória.

Até o caos é organizado.


O Sistema Nunca Para de Observar

Enquanto aplicações trabalham...

o Supervisor acompanha continuamente:

uso de CPU.

uso de memória.

I/O.

esperas.

prioridades.

contenção.

É como um comandante observando milhares de painéis simultaneamente.


O Tempo Compartilhado

Um iniciante costuma perguntar:

"Como milhares de programas executam ao mesmo tempo?"

A resposta curta é:

eles não executam exatamente ao mesmo tempo.

O Supervisor alterna entre eles tão rapidamente que nosso cérebro percebe continuidade.

É como assistir a um filme.

Na verdade...

você está vendo dezenas de fotografias por segundo.


Quando Tudo Parece Simultâneo

Imagine um mágico lançando:

vinte bolas.

Nenhuma cai.

O segredo?

Ele sabe exatamente quando mover cada mão.

O Dispatcher faz algo parecido.

Troca rapidamente de contexto entre milhares de tarefas.

Resultado?

Todos acreditam possuir a CPU inteira.


O Supervisor Nunca Dorme

Mesmo durante períodos aparentemente tranquilos...

ele continua trabalhando.

Verificando timers.

Tratando interrupções.

Liberando memória.

Gerenciando filas.

Coordenando recursos.

Ele é o único tripulante que jamais abandona a ponte de comando.


O Que Mudou Desde 2010?

Desde que Spruth escreveu seu relatório, o Supervisor do z/OS evoluiu significativamente.

Hoje convivemos com:

  • processadores multicore muito maiores;

  • integração profunda com virtualização PR/SM;

  • Workload Manager extremamente sofisticado;

  • suporte ampliado para Java, Linux e containers;

  • automação inteligente;

  • observabilidade em tempo real;

  • integração com APIs REST;

  • inteligência artificial auxiliando diagnósticos.

Mas sua missão continua exatamente igual:

garantir ordem em meio ao caos.


A Filosofia dos Grandes Comandantes

Existe uma lição escondida aqui.

O Supervisor nunca tenta fazer tudo.

Ele coordena.

Distribui.

Organiza.

Confia em especialistas.

Essa talvez seja uma das maiores lições da engenharia.

E também da liderança.

Um bom comandante não pilota todas as naves.

Ele garante que cada especialista faça o melhor trabalho possível.


Curiosidades do Diário de Bordo

🧠 O Supervisor do z/OS permanece ativo durante toda a vida do sistema operacional, coordenando praticamente todos os recursos importantes.

🌌 Address Spaces representam ambientes isolados que permitem enorme estabilidade e proteção entre aplicações.

📚 A Link Pack Area (LPA) evita desperdício de memória compartilhando módulos comuns entre milhares de programas.

🚀 Dispatcher e Scheduler trabalham continuamente para manter equilíbrio entre desempenho, prioridades e utilização eficiente dos recursos.


Diário de Bordo do Padawan COBOL

Antes de deixar a ponte de comando da nave, registre estas coordenadas no seu Holocron Técnico:

✅ Um sistema operacional corporativo é muito mais do que um carregador de programas; ele é o grande coordenador de toda a infraestrutura.

✅ O Supervisor do z/OS atua como um maestro invisível, organizando milhares de atividades simultaneamente sem perder o controle.

✅ O isolamento por Address Spaces é um dos pilares da estabilidade do Mainframe, permitindo que aplicações coexistam com segurança.

✅ Grandes sistemas não sobrevivem porque possuem processadores rápidos. Eles sobrevivem porque existe inteligência coordenando cada microssegundo de sua operação.


Missão Seguinte

No próximo capítulo, embarcaremos em um dos setores mais movimentados de toda a galáxia IBM Z: o JES (Job Entry Subsystem).

Descobriremos por que um simples JCL é, na verdade, um plano de voo interestelar; como milhares de jobs entram em filas sem se atropelar; e por que o JES funciona como a gigantesca torre de controle responsável por sincronizar toda a produção batch do planeta.

Prepare seu cartão perfurado imaginário, revise seu JCL e mantenha sua toalha — e seu café — sempre por perto. Afinal, nossa próxima escala será o coração da produção em lote do universo mainframe.

☕ Um Café no Bellacosa Mainframe

O Guia Galáctico do IBM Z

Dezoito capítulos e uma conclusão reunidos em um painel interativo. Escolha uma missão, abra no visor e continue explorando diretamente no artigo original.

Não entre em pânico: se o Blogger impedir a exibição dentro do iframe, use “Abrir artigo”. Os links diretos continuam visíveis para leitores e motores de busca.
01

Capítulo I — Não Entre em Pânico!

Leia no visor ou abra a publicação original.

Abrir artigo
02

Capítulo II — A Planta da Nave Mais Duradoura da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
03

Capítulo III — A Nave Que Se Recusa a Explodir

Leia no visor ou abra a publicação original.

Abrir artigo
04

Capítulo IV — A Sala dos Cofres Cósmicos

Leia no visor ou abra a publicação original.

Abrir artigo
05

Capítulo V — A Frota Invisível do Transporte Interestelar

Leia no visor ou abra a publicação original.

Abrir artigo
06

Capítulo VI — O Grande Maestro Invisível

Leia no visor ou abra a publicação original.

Abrir artigo
07

Capítulo VII — O Grande Terminal de Embarque da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
08

Capítulo VIII — A Metrópole das Transações Infinitas

Leia no visor ou abra a publicação original.

Abrir artigo
09

Capítulo IX — A Federação das Naves Invisíveis

Leia no visor ou abra a publicação original.

Abrir artigo
10

Capítulo X — A Consciência Coletiva da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
11

Capítulo XI — O Almirante Invisível da Frota

Leia no visor ou abra a publicação original.

Abrir artigo
12

Capítulo XII — A Biblioteca Infinita da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
13

Capítulo XIII — O Serviço Postal Mais Confiável da Galáxia

Leia no visor ou abra a publicação original.

Abrir artigo
14

Capítulo XIV — O Jardim Secreto da Nave

Leia no visor ou abra a publicação original.

Abrir artigo
15

Capítulo XV — O Tradutor Universal da Federação

Leia no visor ou abra a publicação original.

Abrir artigo
16

Capítulo XVI — A Fábrica Automática da Federação

Leia no visor ou abra a publicação original.

Abrir artigo
17

Capítulo XVII — A Última Fronteira Nunca Foi o Espaço

Leia no visor ou abra a publicação original.

Abrir artigo
18

Capítulo XVIII — O Guia Nunca Terminou

Leia no visor ou abra a publicação original.

Abrir artigo
19

Conclusão — Não Entre em Pânico... A Jornada Está Apenas Começando

Leia no visor ou abra a publicação original.

Abrir artigo
Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...