Translate

Mostrar mensagens com a etiqueta SRB. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta SRB. 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, 2 de julho de 2019

☕💥 A Jornada do Padawan COBOL – Parte 7 Desvendando o Universo dos CALLs no Mainframe

 

Bellacosa Mainframe explica o CALL em COBOL Parte VII

☕💥 A Jornada do Padawan COBOL – Parte 7

Desvendando o Universo dos CALLs no Mainframe

BALR, BASR, BASSM, SVC, PC, TCB, SRB, Cross Memory, zIIP e os Segredos dos Sysprogs Jedi do IBM Z

Ou como descobrir que, por trás de um simples CALL COBOL, existe um universo de instruções Assembly capaz de processar bilhões de transações por dia

Por Vagner Bellacosa – Bellacosa Mainframe


O dia em que o Padawan descobre que COBOL é apenas uma ilusão confortável

Até agora descobrimos:

✔ Static CALL

✔ Dynamic CALL

✔ Binder

✔ LE

✔ CICS

✔ APIs

✔ MQ

✔ REST

Mas existe algo que poucos desenvolvedores COBOL enxergam.

Quando você escreve:

CALL 'SUBPGM'

O hardware IBM Z não entende COBOL.

Ele entende.

Instruções Assembly

E é aqui que começa a verdadeira aventura.


O que existe por trás do CALL

Imagine:

Programa COBOL

Compilador

LE

Assembler

CPU z16


O processador executa algo semelhante a:

BALR R14,R15

ou

BASR R14,R15

BALR

Branch and Link Register

O avô do CALL.


Exemplo

BALR 14,15

O que faz?

Salva endereço retorno.

Desvia execução.


Visualmente


MAIN


00010000


BALR


↓


SUBPGM


00025000


EXECUTA


RETORNA




BASR

Mais moderno.


Branch and Save Register


Mesmo conceito.

Melhor otimização.


BASSM

Território Jedi.

Poucos entram.


Branch And Save And Set Mode


Troca modo.

24 bits.

31 bits.

64 bits.


Exemplo

BASSM R14,R15

Por que existe?

Compatibilidade.

Programas antigos.

AMODE mistos.


O conceito de Supervisor

Padawan acredita.

Programa faz tudo.

IBM sorri.


Usuário

não faz quase nada.


Sistema faz.


SVC

Supervisor Call


Programa pede ajuda.


Exemplo

SVC 99

Sistema operacional assume.

Executa.

Retorna.


Exemplos famosos

SVC 13

ABEND


SVC 99

Dynamic Allocation


SVC 19

OPEN


O Program Call

PC Instruction


Mais rápido.

Mais seguro.

Cross Memory.


Muito usado por:

RACF

DB2

JES2

SAF


Cross Memory

Território dos Sysprogs.


Endereço A

fala com

Endereço B


Visualmente


USER SPACE


↓


PC


↓


DB2 SPACE


↓


RETORNA



TCB

Task Control Block


Representa.

Uma tarefa.


CICS

Muitos TCBs.


Batch

Normalmente um.


SRB

Service Request Block


Mais leve.

Mais rápido.


Menos overhead.


Muito usado.

RMF

SMF

DB2


TCB versus SRB

CaracterísticaTCBSRB
PesoMédioLeve
CPUNormalMelhor
WAITSimNão
PerformanceBoaExcelente

zIIP

O sonho do financeiro.


Specialty Engine


Pode executar:

XML

Java

MQ

DRDA

REST

Analytics


CPU geral agradece.


HiperDispatch

Poucos conhecem.

IBM adora.


Mantém afinidade.

CPU cache.


Melhora latência.


LE Internals

Language Environment.


Controla.

Heap

Stack

Condition Handler

Exceptions

Threads

Storage


O Condition Handler

Exemplo

ON EXCEPTION

LE intercepta.

Processa.

Retorna.


Como nasce um S0C4

Programa

CALL

LE

Assembler

PSW

Address Exception

ABEND


O PSW

Program Status Word


Coração do processador.


Guarda

Modo

Estado

Máscaras

Endereço


IPCS mostra.


Registradores

IBM Z possui

16 registradores


R14

Retorno


R15

Entrada


R13

Save Area


Veteranos decoram.


Save Area

Mágica antiga.


Assembler

STM 14,12,12(13)

Salva contexto.


Retorna depois.


Porque COBOL parece mágico

O compilador faz.

Tudo isso.

Automaticamente.


Padawan escreve

CALL 'PAGTO'

IBM executa.

Milhares.

De instruções.


Dicas Bellacosa

Dica 1

Nunca ignore PSW.


Dica 2

Aprenda registradores.


Dica 3

Entenda LE.


Dica 4

Conheça SVC99.


Dica 5

Estude TCB.


Dica 6

SRB é ouro.


Dica 7

zIIP economiza dinheiro.


Easter Egg Mainframe

Existe um grupo de profissionais.

Que olha isto.

BALR 14,15

E imediatamente sabe.

AMODE.

RMODE.

PSW.

TCB.

Offset.

Storage Key.

Cross Memory.

PC Bit.

SRB.


São conhecidos pelos desenvolvedores COBOL como:

Os Sysprogs Jedi


Checklist Jedi da Parte 7

✅ Entender BALR

✅ Entender BASR

✅ Conhecer BASSM

✅ Saber SVC99

✅ Estudar LE

✅ Aprender TCB

✅ Aprender SRB

✅ Conhecer Cross Memory

✅ Entender PSW

✅ Conhecer IPCS

✅ Aproveitar zIIP

✅ Ler Assembly sem medo


A Filosofia Jedi do CALL – Parte 7

O Padawan iniciante acredita:

COBOL chama COBOL.

O desenvolvedor intermediário pensa:

COBOL usa LE.

O especialista entende:

COBOL é uma linguagem elegante construída sobre décadas de engenharia do z/Architecture, Assembly, supervisão do z/OS e mecanismos extremamente otimizados de gerenciamento de contexto.

E o Mestre Mainframe compreende algo ainda mais profundo:

Um simples CALL 'SUBPGM' é apenas a ponta visível de uma cadeia tecnológica refinada ao longo de mais de cinquenta anos, permitindo que um IBM Z execute bilhões de instruções por segundo com níveis de disponibilidade, segurança e eficiência que ainda hoje servem de referência para toda a indústria.


Próxima aventura do Padawan COBOL – Parte 8

"As Últimas Runas do Mainframe: DLLs Avançadas, Metal C, Callable Services, SAF, RACF, PC-Bit, APF, Dataspaces, Hiperspaces, Coupling Facility e os segredos que poucos profissionais IBM Z dominam."