Translate

Mostrar mensagens com a etiqueta control blocks. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta control blocks. Mostrar todas as mensagens

quinta-feira, 5 de fevereiro de 2026

🔥 VOCÊ PROGRAMA EM COBOL… MAS NÃO FAZ IDEIA DO MONSTRO QUE ESTÁ RODANDO POR TRÁS 😳

 

Bellacosa Mainframe apresenta o Hardware Mainframe 

🔥 VOCÊ PROGRAMA EM COBOL… MAS NÃO FAZ IDEIA DO MONSTRO QUE ESTÁ RODANDO POR TRÁS 😳

O guia que separa quem “codifica” de quem realmente ENTENDE o z/OS

Se você é dev COBOL e acha que seu programa “roda sozinho”…
👉 já começa errado.

O que você chama de execução é, na verdade, um balé absurdo entre hardware, sistema operacional e estruturas invisíveis que decidem se seu job vive… ou morre 💀

Esse artigo é o mapa mental que o curso da IBM tenta te dar — mas agora no estilo Bellacosa Mainframe raiz.


🧠 O MÓDULO INTRODUTÓRIO (o verdadeiro objetivo)

O curso não quer te ensinar comando.

Ele quer te ensinar a pensar assim:

“Se algo deu errado… quem está envolvido por trás?”

Segundo o próprio material do curso, a ideia é te dar uma visão conectada do sistema, não isolada


🔥 Tradução direta:

Você deixa de ser:

  • 👶 Dev que roda JOB

E vira:

  • 🧠 Engenheiro que entende o ecossistema

⚙️ O QUE VOCÊ PRECISA SABER ANTES (pré-requisitos reais)

Se você quer extrair valor desse curso, precisa de base em:

🧩 Conceitos obrigatórios:

  • Address space
  • Multiprocessing
  • Virtual storage
  • Interrupts
  • Dispatcher
  • SVC

👉 Tudo isso é citado como base necessária


💡 E o segredo que ninguém te conta:

Você NÃO precisa dominar tudo…

Mas precisa entender quem manda em quem.


🧬 O MAPA DO UNIVERSO MAINFRAME

Vamos simplificar o que o curso espalha em vários vídeos:

z/Architecture → define regras
z System → implementa hardware
z/OS → controla execução
Seu COBOL → obedece tudo isso

🔥 Frase pra tatuar na testa:

“COBOL não executa… ele é executado.”


🧠 z/Architecture — O DNA DO SISTEMA

A arquitetura define:

  • instruções da CPU
  • registradores
  • interrupções
  • modelo de memória

👉 É o contrato entre hardware e software


🧨 Curiosidade (Easter Egg #1)

Você pode rodar código de 1965 (System/360) hoje.

👉 Isso mesmo.

Backward compatibility absurda.


🖥️ z Systems — A MÁQUINA MONSTRA

Aqui entra o hardware de verdade (ex: z16):

  • até 40 TB de memória
  • centenas de processadores
  • AI dentro do chip 😳

🤖 Easter Egg #2

O z16 tem IA rodando dentro do processador.

👉 Seu COBOL pode estar rodando lado a lado com inferência de IA.


⚡ Processadores (isso cai em prova e vida real)

Não existe só CPU:

  • CP → geral
  • zIIP → offload (DB2, XML)
  • IFL → Linux
  • SAP → I/O

👉 Performance no mainframe é distribuição, não clock.


🧠 z/OS — O CÉREBRO QUE MANDA EM TUDO

O z/OS é:

  • scheduler
  • gerenciador de memória
  • gerenciador de I/O
  • segurança
  • rede

👉 Ele decide:

  • quem roda
  • quando roda
  • por quanto tempo

💀 Easter Egg #3

Seu programa pode estar pronto…

👉 mas fica parado porque o dispatcher não liberou CPU.


🧱 CONTROL BLOCKS — O VERDADEIRO SISTEMA

Aqui está o segredo mais importante de todos:

O z/OS não confia em código… ele confia em estruturas.

Exemplos:

  • TCB → task
  • ASCB → address space
  • PSA → base do sistema

🔥 Regra de ouro:

“Se não está em um control block… não existe.”


⚡ INTERRUPTS — O QUE REALMENTE CONTROLA O FLUXO

Tudo no sistema muda por interrupção:

  • I/O terminou
  • erro aconteceu (S0C4 👀)
  • tempo acabou

💡 Tradução Bellacosa:

Interrupt é o “plot twist” do sistema.


🔍 COMO UM DEV COBOL DEVE ESTUDAR ISSO?

Aqui entra o ouro.


🚀 PASSO 1 — Pare de pensar só no código

Quando rodar um programa, pergunte:

  • em qual address space estou?
  • quem é meu TCB?
  • estou em WAIT ou RUN?

🔥 PASSO 2 — Comece pelo visível

Ferramentas:

  • SDSF → ver jobs
  • ISPF → ambiente
  • JES → fila

🧠 PASSO 3 — Evolua pro invisível

  • IPCS (dump)
  • control blocks
  • PSW / registers

💀 PASSO 4 — Aprenda com erro

Nada ensina mais que:

  • S0C4
  • S0C7
  • loops infinitos

🧨 DICAS DE OURO (nível Bellacosa)

💡 Dica 1

Quando travar:

não pergunte “o que meu código fez?”
pergunte “o que o sistema fez com meu código?”


💡 Dica 2

Aprenda registradores:

  • R13 → cadeia
  • R14 → retorno
  • R15 → entrada

💡 Dica 3

Leia dump mesmo sem entender tudo.

👉 Com o tempo, você começa a “enxergar o sistema”.


🤯 CURIOSIDADES QUE EXPLODEM A MENTE

🧨 1. Seu programa não controla nada

Tudo é mediado pelo z/OS.


🧨 2. I/O é mais importante que CPU

Mainframe é I/O-driven.


🧨 3. Rede pode nem existir

Com HiperSockets, comunicação é memória ↔ memória.


🧨 4. Segurança é hardware

Criptografia roda direto no chip.


🎯 RESUMO FINAL

Se você entendeu isso, você mudou de nível:

✔ Código é só uma parte

✔ Sistema decide tudo

✔ Hardware influencia tudo

✔ Control blocks são a verdade

✔ Interrupts mandam no fluxo


💥 FRASE FINAL (pra fechar com estilo)

“Você não programa em COBOL…
você negocia com o z/OS pra ele deixar seu programa existir.”

 

sexta-feira, 15 de julho de 2022

☕💥 A Jornada do Sysprog Padawan – ACEE : Anatomia do Crachá Mágico do Reino IBM Z - Parte II

 

Bellacosa Mainframe apresenta o ACEE Parte II

☕💥 A Jornada do Sysprog Padawan – Parte 2

ACEE – Anatomia do Crachá Mágico do Reino IBM Z

O que realmente existe dentro de um ACEE?

"Todo Sysprog olha para um dump. O Sysprog Jedi conversa com os control blocks."

Bellacosa Mainframe


Introdução

Na Parte 1 descobrimos que o ACEE é praticamente o crachá encantado do Reino IBM Z.

Mas afinal...

O que existe dentro dele?

Ele possui apenas o userid?

Possui senha?

Está criptografado?

Pode ser alterado?

Quem consegue enxergá-lo?

Quanto espaço ocupa?

É isso que vamos explorar.


Antes de tudo

O ACEE é um Control Block do RACF.

Ele é criado em memória.

Não é VSAM.

Não é DB2.

Não é Dataset.

Não é USS File.

Ele simplesmente nasce, vive durante a sessão e desaparece ao final dela.


Onde mora o ACEE?

Depende.

Pode estar associado a:

TCB

Task Control Block


ASCB

Address Space Control Block


SRB

Service Request Block


OMVS Process


DB2 Thread


CICS Task


IMS Region


Started Task


Anatomia simplificada

Podemos imaginar o ACEE como uma estrutura lógica.

+--------------------------------+
| ACEE HEADER                    |
+--------------------------------+
| USERID                         |
+--------------------------------+
| GROUPS                         |
+--------------------------------+
| SPECIAL FLAGS                  |
+--------------------------------+
| UID / GID                      |
+--------------------------------+
| CERTIFICATES                   |
+--------------------------------+
| MFA                            |
+--------------------------------+
| SECURITY LABELS                |
+--------------------------------+
| CUSTOM ATTRIBUTES              |
+--------------------------------+
| POINTERS                       |
+--------------------------------+

Naturalmente a IBM não documenta tudo detalhadamente para programação de aplicações comuns.

Mas Sysprogs adoram estudar essas estruturas.


Campo 1 — USERID

O mais conhecido.

Exemplo

VBELLACO

Pode possuir até oito caracteres.


Ele representa:

Quem você é.


Mas atenção.

Senha NÃO fica armazenada.


Passphrase também não.


Hash de senha também não.


Segurança agradece.


Campo 2 — Nome do Grupo

Exemplo

SYS1

ou

MQADMIN

Grupo primário.


Grupo conectado.


Grupo default.


Campo 3 — Connected Groups

Pode haver dezenas.

Exemplo

DBA

SYSOPER

MQADM

IMSADM

DEVOPS

SECURITY

Essas informações permitem decisões rápidas.


Sem voltar ao banco RACF.


Campo 4 — Special Attributes

Muito importante.


Flag SPECIAL

Administrador.


OPERATIONS

Super usuário RACF.


AUDITOR

Auditoria.


CLAUTH

Gerencia Classes.


ROAUDIT

Read-only.


Curiosidade Bellacosa ☕

SPECIAL é praticamente:

A chave mestra do castelo.


OPERATIONS

É o passe VIP.


AUDITOR

É o fiscal do reino.


Campo 5 — OMVS Segment

Chegamos ao USS.


UID

Exemplo

1000

GID

100

HOME

/u/vbellaco

PROGRAM

/bin/sh

Campo 6 — Certificados

Muito usado hoje.


Digital Certificate


PKI


TLS


SSH


MQ


zOS Connect


API Gateway


Open Banking


PIX


Pode existir referência ao certificado associado ao usuário.


Campo 7 — MFA

Nos ambientes modernos.


RSA


TOTP


Smartcard


Passkey


FIDO


Token Context


Campo 8 — Labels

Pouco utilizados.

Mas interessantes.


MLS

Mandatory Access Control


Exemplos

PUBLIC


CONFIDENTIAL


SECRET


TOPSECRET

Muito comum em:

Defesa

Governo

Militar


Campo 9 — ACEE Tokens

Pouco comentado.

Muito poderoso.


Permitem passar contexto.


CICS utiliza.


DB2 utiliza.


MQ utiliza.


Subsystems utilizam.


Cross-memory utiliza.


Campo 10 — Ponteiros

Sysprog gosta.


Ponteiro para:

TCB

ASCB

Groups

Security Labels

OMVS

Certificates


É um verdadeiro mini ecossistema.


Quanto memória consome?

Pergunta clássica.


Resposta curta.

Depende.


Usuário simples

Alguns KB.


Usuário com muitos grupos

Mais.


Certificados

Mais.


MFA

Mais.


Custom Attributes

Mais.


Na prática.

Centenas.

Milhares.

De ACEEs.

Não representam um problema.


O impacto em CPU

Muito pequeno.


Comparado ao custo de consultar RACF.


ACEE economiza:

CPU

I/O

Locks

ENQ

Contention


Em um banco.

100 mil sessões.

Economia enorme.


z/OS 3.1

Novidade interessante.


Custom Fields.


Permitem aplicações modernas.

Consultar contexto.


Sem voltar ao RACF.


Menos latência.


Menos I/O.


Mais escalabilidade.


O que NÃO existe no ACEE?

Senha.


Passphrase.


Hash.


Histórico.


Dataset profiles.


Banco RACF completo.


Quem pode enxergar um ACEE?

Usuário comum?

Não.


COBOL?

Normalmente não.


Sysprog?

Sim.


IPCS

Sim.


Dumps

Sim.


Ferramentas IBM

Sim.


IPCS

Nosso sabre de luz.


Dump

IPCS

VERBX

Interpretar ACEE


Ferramentas comerciais ajudam bastante.


zSecure


Security Server utilities


IBM Support Tools


Easter Egg Bellacosa ☕

Se você abrir um dump e encontrar:

TCB

ASCB

ACEE

UID

SPECIAL

CERT


Parabéns.

Você acabou de entrar no clube dos Sysprogs que começam a conversar com os control blocks.


Analogia Bellacosa

Imagine novamente o castelo.


No crachá mágico existem:

Nome

Guilda

Permissões

Passaporte

Cartão diplomático

Etiqueta de segurança

Passe do metrô USS

Certificado digital

Token MFA


Tudo em um único objeto.


E o melhor.

O guarda SAF apenas olha para ele.


Não precisa voltar ao cartório RACF.


Economizando tempo.

CPU.

E trabalho.


Resumo para guardar

CampoFunção
USERIDIdentidade
GROUPSGrupos
SPECIALAdministração
UIDUSS
GIDUSS
CERTTLS
MFAAutenticação
LABELMLS
TOKENContexto
POINTERSLigações internas

☕💥 Continua na Parte 3

O Nascimento do ACEE

Como ele é criado no TSO, CICS, IMS, Batch, Started Tasks, USS, MQ e DB2, incluindo RACROUTE VERIFY, SAF, FASTAUTH, diagramas passo a passo e exemplos reais de fluxo de autenticação.


quinta-feira, 16 de junho de 2022

☕💥 A Jornada do Sysprog Padawan – ACEE – O Crachá Mágico do Reino IBM Z Parte I

 

Bellacosa Mainframe apresenta o ACEE Parte I

☕💥 A Jornada do Sysprog Padawan – Parte 1

ACEE – O Crachá Mágico do Reino IBM Z

O Control Block que quase ninguém conhece, mas que todos utilizam diariamente

"No Mainframe, existem estruturas que todo mundo usa, poucas pessoas enxergam e quase ninguém compreende completamente. O ACEE é uma delas."

Bellacosa Mainframe


Introdução

Todo Sysprog iniciante aprende rapidamente algumas siglas que parecem fazer parte de uma língua secreta:

  • PSA

  • CVT

  • TCB

  • ASCB

  • RB

  • CSA

  • SQA

  • RACF

  • SAF

Mas existe um pequeno personagem que vive escondido dentro da memória do z/OS e que participa de praticamente todas as decisões de segurança do sistema:

O ACEE

Accessor Environment Element

E aqui está algo curioso:

Você provavelmente utilizou milhares de ACEEs durante sua carreira sem nunca perceber.

Toda vez que alguém faz logon no TSO.

Toda vez que uma transação CICS é executada.

Toda vez que um usuário acessa USS via SSH.

Toda vez que um JOB é submetido.

Toda vez que DB2 verifica uma autorização.

Toda vez que MQ abre uma fila.

Existe uma boa chance de um ACEE estar envolvido.


O Reino IBM Z

No estilo Bellacosa Mainframe, imagine o z/OS como um reino medieval gigantesco.

O reino possui:

O Cartório Real

RACF


O Guarda do Portão

SAF


O Livro de Ocorrências

SMF


A Oficina dos Magos

ICSF


O Distrito Unix

USS


O Rei

Sysprog


E existe um objeto extremamente importante:

O crachá do visitante

Esse crachá é o ACEE.


Quando um visitante entra no castelo, ele recebe um documento dizendo:

Quem ele é.

A quais guildas pertence.

Quais áreas pode visitar.

Se possui privilégios especiais.

Qual certificado utiliza.

Seu UID UNIX.

Seu MFA.

Suas etiquetas de segurança.

Enquanto estiver dentro do castelo, ninguém precisa voltar ao cartório para perguntar novamente quem ele é.

Basta olhar o crachá.

Este crachá é exatamente o papel do ACEE.


O que significa ACEE?

Accessor Environment Element

Nome curioso.

Mas faz sentido.

Accessor

Quem acessa.

Environment

Seu contexto operacional.

Element

Estrutura residente.


Podemos traduzir informalmente como:

Contexto de Segurança do Usuário em Execução

Ou

Cartão de identidade vivo do z/OS


Por que a IBM criou o ACEE?

Precisamos voltar algumas décadas.


Década de 70

MVS começava a crescer.

TSO expandia.

CICS ganhava força.

DB2 ainda nem existia.


Imagine:

500 usuários simultâneos.

Cada READ.

Cada OPEN.

Cada EXEC CICS.

Precisasse consultar RACF.

Seria um desastre.


O custo seria:

CPU

I/O

ENQ

Contenção

Latência


Então a IBM criou uma ideia brilhante.

Após autenticar.

Copiar informações relevantes.

Colocar tudo em memória.

Consultar apenas memória.

Nascia o ACEE.


A primeira geração

MVS

RACF 1.x

Conceito simples.

Userid

Grupo

Authority


Poucos campos.

Pequena estrutura.


Segunda geração

MVS/XA

MVS/ESA

Mais atributos.

Mais flags.


Suporte:

CICS

IMS

VTAM


OS/390

A internet chegou.

SSL.

Certificados.


ACEE cresceu.

Passou a armazenar:

Digital Certificates

UID

GID


z/OS

USS.

LDAP.

Kerberos.


MFA.

Passphrase.

Tokens.

JWT integration.

Custom attributes.


z/OS 3.1

Uma das novidades interessantes.

Campos customizados.

Melhor integração.

Menor I/O.

Maior escalabilidade.


O ACEE não é um Dataset

Esse é um erro comum.


O ACEE não está armazenado em:

SYS1

SYSUSER

VSAM

DB2


Ele vive em memória.


É um Control Block

Assim como:

TCB

ASCB

CVT

PSA

RB


Sysprogs adoram control blocks.

E o ACEE é um dos mais importantes.


Onde ele fica?

Depende.


TSO

Associado ao usuário.


Batch

Associado ao JOB.


CICS

Associado à região.

Ou à transação.


IMS

Associado ao BMP.

MPP.

Transaction.


USS

Associado ao processo POSIX.


MQ

Associado ao requester.


DB2

Associado ao thread.


O nascimento do ACEE

Vamos acompanhar.


Etapa 1

Usuário

Digita:

LOGON VBELLACO

Etapa 2

SAF recebe.


Etapa 3

RACF consulta banco.


Verifica:

Senha

Passphrase

MFA

Certificado


Etapa 4

RACF monta ACEE


Carrega:

Userid

Groups

UID

Authorities

Flags

Tokens

Labels


Etapa 5

Entrega para sistema.


Etapa 6

Sessão ativa.


Fluxo simplificado

USER
 │
 ▼
TSO
 │
 ▼
SAF
 │
 ▼
RACF
 │
 ▼
CREATE ACEE
 │
 ▼
SESSION

O relacionamento com o RACF

Muitos acreditam:

RACF é consultado a todo instante.

Não exatamente.


Após criação do ACEE.

A maioria das verificações utiliza informações já carregadas.


Benefícios

Menos I/O

Menos CPU

Menos contenção

Melhor throughput


O relacionamento com SAF

SAF é o porteiro.


SAF recebe pergunta.


Consulta ACEE.


Caso necessário.

Consulta RACF.


Retorna resposta.


Exemplo

CICS
 │
 ▼
SAF
 │
 ▼
ACEE
 │
 ▼
ALLOW

O relacionamento com SMF

SMF gosta de registrar tudo.


Usuário conecta.

SMF grava.


Usuário desconecta.

SMF grava.


Troca senha.

SMF grava.


Falha MFA.

SMF grava.


Tentativa inválida.

SMF grava.


Auditores adoram isso.

Sysprogs nem sempre.


O relacionamento com APF

Outro conceito interessante.

Programas APF.

Podem manipular ACEE.

Criar.

Clonar.

Substituir.

Passar contexto.


Ferramentas IBM fazem isso.

CICS faz.

DB2 faz.

IMS faz.

MQ faz.


Mas isso exige muito cuidado.


O segredo que poucos sabem

ACEE é praticamente invisível.

Usuário comum nunca vê.

Desenvolvedor COBOL raramente vê.

Administrador DB2 raramente pensa nele.


Mas sem ele.

Segurança moderna do z/OS seria extremamente lenta.


Curiosidade Bellacosa ☕

Se o RACF fosse o cartório do reino.

O SAF fosse o guarda.

E o SMF fosse o cronista.

O ACEE seria:

O crachá encantado entregue ao visitante quando ele atravessa os portões do castelo.

Enquanto o visitante estiver no reino, ninguém precisa perguntar novamente quem ele é.

O crachá responde por ele.


Para guardar na memória

O RACF sabe quem você é.

O SAF pergunta se você pode entrar.

O SMF anota tudo o que aconteceu.

Mas é o ACEE que acompanha você por todo o reino IBM Z.


☕💥 Continua na Parte 2

Anatomia do ACEE

Campos internos, flags, segmentos OMVS, certificados, MFA, UID/GID, ACEE Tokens, estruturas relacionadas e as novidades escondidas do z/OS 3.1.

quinta-feira, 17 de junho de 2021

☕💥 A Jornada do Sysprog Padawan – SAF : Easter Eggs, Segredos de Sysprog, Curiosidades Históricas - Parte VI

 

Bellacosa Mainframe apresenta o SAF Parte VI

☕💥 A Jornada do Sysprog Padawan – Parte 6

SAF – Easter Eggs, Segredos de Sysprog, Curiosidades Históricas e Como Impressionar um IBM Distinguished Engineer em Cinco Minutos

O Guia Definitivo do Guardião do Reino IBM Z

"Existem tecnologias famosas no Mainframe. E existem tecnologias tão importantes que ninguém percebe que elas existem. O SAF pertence à segunda categoria."

Bellacosa Mainframe


Introdução

Chegamos ao último capítulo da nossa jornada.

Aprendemos:

✓ O que é SAF

✓ Anatomia Interna

✓ VERIFY

✓ AUTH

✓ FASTAUTH

✓ ACEE

✓ Performance

✓ Troubleshooting

✓ SMF80

✓ IPCS

✓ Dumps

Agora vamos explorar aquilo que normalmente não aparece nos cursos, manuais ou apresentações comerciais.

Vamos falar sobre os segredos do SAF.


Easter Egg 1

O SAF provavelmente é mais utilizado do que o próprio RACF

Pode parecer estranho.

Mas faz sentido.


RACF.

Decide.


SAF.

Recebe.


Encaminha.


Retorna.


Praticamente.

Tudo.

Passa.

Por ele.


CICS.


IMS.


MQ.


DB2.


USS.


JES2.


OpenSSH.


FTP.


LDAP.


Zowe.


Ansible.


Java.


Python.


REST APIs.


Provavelmente.

O SAF.

É um dos.

Componentes.

Mais executados.

Do zOS.


Easter Egg 2

SAF não é um produto

Muitos iniciantes acreditam.

Vou instalar SAF.

Não.


SAF.

Faz parte.

Do z/OS.


Não é.

Licença.

Separada.


Não possui.

Painéis.


Não possui.

ISPF.


Não possui.

Banco.


Não possui.

Usuários.


Ele.

É.

Uma infraestrutura.


Easter Egg 3

O SAF foi uma ideia brilhante da IBM

Imagine.


CICS.

Implementa.

Segurança.

Própria.


IMS.

Outra.


DB2.

Outra.


MQ.

Outra.


USS.

Outra.


Resultado.

Caos.


IBM criou.

SAF.


E resolveu.

Décadas.

De problemas.


Easter Egg 4

O SAF é praticamente um barramento de segurança

Analogia moderna.


Kafka.

Transporta mensagens.


MQ.

Transporta mensagens.


SAF.

Transporta.

Decisões.

De segurança.


Excelente.

Explicação.

Para arquitetos.


Easter Egg 5

O SAF adora ACEEs

Sem.

ACEE.


Cada.

AUTH.

Consultaria.

RACF.


Muito.

Mais.

CPU.


Muito.

Mais.

I/O.


Muito.

Mais.

Locks.


SAF.

Ama.

FASTAUTH.

E.

Ama.

ACEE.


Easter Egg 6

O verdadeiro trabalho pesado é evitar trabalho pesado

Parece piada.

Mas.

Não é.


A genialidade.

Do SAF.

Não está.

Em fazer.

Mais.


Está.

Em evitar.

Milhões.

De chamadas.

Desnecessárias.


Easter Egg 7

SMF conhece tudo

SMF80.


VERIFY.


AUTH.


Falhas.


Revogações.


MFA.


Certificates.


Logons.


Negações.


FASTAUTH.


Auditores.

Adoram.


Sysprogs.

Também.


Easter Egg 8

O dump nunca mente

Bellacosa Rule.


Usuário.

Pode.

Mentir.


Aplicação.

Pode.

Mentir.


Log.

Pode.

Confundir.


Equipe.

Pode.

Culpar.

RACF.


Mas.

Dump.

Nunca.

Mente.


Curiosidade Histórica

Década.


MVS.


Década.


RACF.


Década.


OS390.


Internet.


Década.


USS.


Java.


LDAP.


Década.


MFA.


Passkeys.


OIDC.


Zero Trust.


Década.

2030?


Quantum Safe.


Identity Fabric.


Passwordless.


Muito provável.

Que.

SAF.

Continue.

Aqui.


O relacionamento do SAF

RACF

Decide.


ACEE

Lembra.


SMF

Escreve.


APF

Protege.


ICSF

Criptografa.


OMVS

Expande.


DB2

Consome.


MQ

Consome.


CICS

Consome.


IMS

Consome.


USS

Consome.


Como impressionar um Security Architect

Pergunta.

O que é SAF?

Resposta comum.

Interface do RACF.


Resposta Bellacosa.

O SAF é uma infraestrutura nativa do z/OS responsável por padronizar solicitações de autenticação e autorização entre aplicações e External Security Managers, utilizando RACROUTE, ACEEs e serviços otimizados como FASTAUTH para sustentar bilhões de decisões de segurança por dia com baixíssimo impacto de CPU.

Provavelmente.

A entrevista.

Acabou.

De mudar.

De nível.


Como impressionar um Distinguished Engineer

Diga.

O SAF não implementa segurança.

Ele implementa.

Desacoplamento.

Escalabilidade.

E interoperabilidade.

Entre aplicações.

E ESMs.


Ele.

Provavelmente.

Vai sorrir.


O maior erro do Sysprog Junior

Pensar.

Segurança.

=

RACF.


Não.


Segurança.

É.

Hardware.

ICSF.

SAF.

RACF.

SMF.

APF.

ACEE.

Auditoria.

Pessoas.

Processos.


Checklist do Guardião do Reino IBM Z

Estudar

RACROUTE


VERIFY


AUTH


FASTAUTH


ACEE


SMF80


IPCO


IPCS


zSecure


Classes

TCICSTRN

DSNR

MQADMIN

OPERCMDS

SURROGAT

UNIXPRIV

JESJOBS

FACILITY


A lenda das 3h17 ☕

Telefone toca.


Produção.

Parada.


DB2 culpa.

MQ.


MQ culpa.

USS.


USS culpa.

RACF.


Segurança.

Culpa.

SAF.


Sysprog.

Abre.

IPCS.


Segue.

TCB
↓

ASCB
↓

ASXB
↓

ACEE
↓

SAF Context

Descobre.

Perfil.

Errado.


03:31.

Sistema.

Volta.


03:32.

PIX.

Volta.


03:33.

Café.

Esfria.


03:34.

Sysprog.

Sorri.


03:35.

O Reino IBM Z.

Continua.

De pé.


Frase Bellacosa Mainframe

"O RACF conhece as leis do reino. O ACEE conhece o viajante. O SMF escreve a história. O APF protege os segredos. O ICSF guarda o tesouro. Mas é o SAF que passa o dia inteiro recebendo pedidos, consultando o cartório e abrindo ou fechando portas dentro do Reino IBM Z."


☕💥 Missão Concluída

Parabéns, Padawan.

Você concluiu uma jornada completa sobre o SAF, uma das tecnologias mais importantes, discretas e elegantes do ecossistema IBM Z. Agora você não apenas sabe que o SAF existe. Você compreende por que ele foi criado, como ele opera, como diagnosticar seus problemas, como medir seu impacto e por que ele continua sendo um dos pilares silenciosos que ajudam o IBM Z a proteger trilhões de dólares em transações todos os dias.


segunda-feira, 15 de fevereiro de 2021

☕💥 A Jornada do Sysprog Padawan – SAF : Anatomia Interna do Porteiro Invisível do Reino IBM Z - Parte II

 

Bellacosa Mainframe apresenta o SAF parte II

☕💥 A Jornada do Sysprog Padawan – Parte 2

SAF – Anatomia Interna do Porteiro Invisível do Reino IBM Z

RACROUTE, VERIFY, FASTAUTH, Return Codes, ACEE e os mecanismos secretos que fazem bilhões de decisões por dia

"O SAF parece simples. Até o dia em que você precisa explicar para um auditor por que um MQOPEN retornou RC=8 às três horas da manhã."

Bellacosa Mainframe


Introdução

Na Parte 1 descobrimos que o SAF é o porteiro invisível do Reino IBM Z.

Ele não possui usuários.

Ele não possui senhas.

Ele não possui grupos.

Ele não possui perfis.

Mas ele é consultado bilhões de vezes por dia.

A pergunta agora é:

Como o SAF realmente funciona?

Vamos abrir a caixa preta.


O que existe dentro do SAF?

A resposta curta.

Pouco.

A resposta Sysprog.

Muito.


O SAF é composto basicamente por:

Interface de chamadas

Roteador

Serviços

Retornos

Controle de contexto

Integração com ACEE

Comunicação com ESM


O coração do SAF

O principal serviço.

RACROUTE


Praticamente.

O sabre de luz.

Do Security Sysprog.


O que é RACROUTE?

Serviço.

Macrotina.

Interface.

Entre.

Aplicações.

E segurança.


Sintaxe simplificada

RACROUTE REQUEST=AUTH

Ou

RACROUTE REQUEST=VERIFY

Ou

RACROUTE REQUEST=FASTAUTH

Principais REQUESTS

VERIFY

Autenticação


AUTH

Autorização


FASTAUTH

Autorização rápida


EXTRACT

Informações usuário


DEFINE

Criar contexto


DELETE

Remover contexto


STAT

Status


ENVIR

Ambiente


VERIFY

Nosso favorito.


Objetivo.

Criar ACEE.


Exemplo.

TSO Logon.


Fluxo.

USER

↓

TSO

↓

SAF

↓

VERIFY

↓

RACF

↓

ACEE

Resultado.

Usuário autenticado.


AUTH

Verifica.

Pode.

Ou.

Não.


Exemplo.

PROD.DB2.MASTER

Classe.

DATASET


Resultado.

READ


UPDATE


ALTER


CONTROL


NONE


FASTAUTH

Aqui mora.

A mágica.


FASTAUTH.

É.

Um AUTH.

Com turbo.


Menos CPU.


Mais cache.


Menos overhead.


Bilhões.

De chamadas.

Por dia.


Muito utilizado.


CICS


MQ


DB2


Subsystems


O SAF Router

Pouco conhecido.

Muito importante.


Responsável.

Por encaminhar.

Requisições.


Fluxo.

Application

↓

SAF Router

↓

ESM

↓

Response

Sem router.

Nada funciona.


O melhor amigo do SAF

ACEE


SAF ama.

ACEEs.


Por quê?


CPU.


I/O.


Locks.


Performance.


Escalabilidade.


Exemplo

Sem ACEE.

AUTH

↓

RACF

↓

VSAM

↓

CPU

Com ACEE.

AUTH

↓

ACEE

↓

ALLOW

Muito mais rápido.


Return Codes

Sysprog gosta.


RC

RSN


RC comuns

RC=0

Sucesso.


RC=4

Aviso.


RC=8

Negado.


RC=12

Erro.


RC=16

Falha severa.


Exemplo

RC=8

RSN=24

Pode significar.

Perfil.

Ausente.


Grupo.

Incorreto.


Classe.

Inativa.


Reason Codes

Mais detalhados.


Explicam.

O motivo.


São.

Os verdadeiros.

Detetives.

Do SAF.


Como interpretar?

SMF.


IPCS.


zSecure.


IBM manuals.


Security Server.


Classes

SAF trabalha.

Com classes.


Exemplos.

DATASET


FACILITY


OPERCMDS


TCICSTRN


DSNR


JESJOBS


SURROGAT


UNIXPRIV


MQADMIN


Fluxo DB2

SELECT *

FROM CLIENTES

DB2.

SAF.

AUTH.

ACEE.

ALLOW.


Fluxo MQ

MQOPEN

SAF

FASTAUTH

ALLOW


Fluxo USS

SSH

VERIFY

ACEE

Shell


Fluxo CICS

PAY1

AUTH

TCICSTRN

ALLOW


O custo em CPU

Pequeno.


Principalmente.

FASTAUTH.


Muito eficiente.


Memória

Praticamente.

Irrelevante.

Para IBM Z.


O segredo da IBM

Não reinventar.

Segurança.

Em cada produto.


Criar.

Uma API.

Universal.


SAF.


Easter Egg Bellacosa

Pergunte.

Para um Sysprog.

Experiente.


Quem faz mais trabalho?

RACF?

Ou SAF?


Resposta típica.


RACF.

Decide.


SAF.

Trabalha.

Muito mais.


Porque atende.

Todas.

As portas.

Do reino.


Curiosidade

Provavelmente.

O SAF.

É um dos.

Componentes.

Mais executados.

Do zOS.


Sem aparecer.

Na maioria.

Dos monitores.


Sem glamour.


Sem interface.


Sem marketing.


Apenas.

Funcionando.


Dicas para Sysprog Junior

Estude.

RACROUTE.


Aprenda.

FASTAUTH.


Entenda.

ACEE.


Leia.

SMF80.


Pratique.

IPCS.


Use.

zSecure.


Conheça.

Reason Codes.


Como impressionar um arquiteto

Diga.

O SAF não toma decisões de segurança.

Ele apenas.

Orquestra.

A comunicação.

Entre.

Aplicações.

E ESM.


Provavelmente.

A conversa.

Mudará.

De nível.


Analogia Bellacosa ☕

Imagine.

O castelo.


CICS.

DB2.

MQ.

IMS.

USS.

Chegam.

Na portaria.


SAF atende.


Pergunta.

Ao cartório.


Recebe.

Resposta.


Olha.

O crachá.

ACEE.


Libera.

Ou bloqueia.


SMF.

Anota.

Tudo.


Frase Bellacosa Mainframe

"O RACF decide quem entra. O ACEE lembra quem você é. O SMF escreve a história. Mas é o SAF que passa o dia inteiro abrindo e fechando portas dentro do Reino IBM Z."


☕💥 Continua na Parte 3

SAF – Como Funciona na Vida Real

TSO, CICS, IMS, MQ, DB2, USS, JES2, Batch, Started Tasks, exemplos passo a passo, diagramas completos, consumo de CPU, troubleshooting e auditoria.

quinta-feira, 3 de dezembro de 2020

CICS Conversacional e Pseudo-Conversacional - Parte IV

 

Bellacosa Mainframe e a conversação em CICS Parte IV

☕ Um Café no Bellacosa Mainframe

CICS Conversacional e Pseudo-Conversacional

Parte 4 — COMMAREA, TSQ, TDQ, Temporary Storage, Control Blocks e os Bastidores do CICS

"Salve novamente, jovem Padawan Mainframe! Se você chegou até aqui, parabéns. Você já compreendeu como a pseudo-conversação revolucionou a escalabilidade do CICS, descobriu Channels, Containers, APIs REST e até OpenTelemetry. Mas agora vamos abrir a tampa do motor do CICS. Vamos conhecer o que acontece por trás das cortinas."

Pegue mais um café.

Abra o IPCS.

Deixe o CEDF ligado.

Reserve uma aba do SDSF.

Porque agora vamos entrar na sala das máquinas.


O que realmente acontece dentro do CICS?

Quando executamos:

EXEC CICS SEND MAP
END-EXEC

Muita gente imagina algo parecido com:

Programa

Tela

Fim.

Mas o CICS faz muito mais.


Fluxo interno

Programa COBOL

        │

        ▼

Translator

        │

        ▼

EXEC Interface

        │

        ▼

Kernel CICS

        │

        ▼

Terminal Control

        │

        ▼

BMS

        │

        ▼

TIOA

        │

        ▼

3270

TIOA

Talvez uma das estruturas menos conhecidas pelos iniciantes.

TIOA

Terminal Input Output Area

É uma área onde ficam armazenados.

Dados digitados.

Cursor.

Atributos.

AID Keys.


Exemplo

ENTER

PF3

PF5

CPF

Nome

Cursor linha 7

Cursor coluna 15

Tudo isso.

Na TIOA.


TCA

Task Control Area.

Cada task possui.


Guarda.

Status.

Transação.

Programa.

Recursos.

Flags.


EIB

Você já conhece.

Mas agora sabemos.

Ele é derivado.

Da TCA.


Control Blocks interessantes

TCT

Terminal Control Table


PPT

Program Processing Table


FCT

File Control Table


PCT

Program Control Table


SIT

System Initialization Table


Temporary Storage Queue

TSQ

Muito usada.

Em pseudo-conversação.


Imagine.

1000 registros.

Não cabem.

Na COMMAREA.


Salvamos em TSQ.


EXEC CICS WRITEQ TS

QUEUE('CLI0001')

FROM(WS-DADOS)

END-EXEC



Lendo.



EXEC CICS READQ TS

QUEUE('CLI0001')

INTO(WS-DADOS)

END-EXEC



TDQ

Transient Data Queue

Muito utilizada.

Para logs.

Integração.

Mensageria.


TSQ versus TDQ

CaracterísticaTSQTDQ
Leitura múltiplaSimNão
AtualizaçãoSimNão
SequencialNãoSim
PersistênciaOpcionalSim
Uso típicoEstadoLogs

COMMAREA versus TSQ

COMMAREA

64 KB

TSQ

Megabytes


Exemplo bancário

Tela.

Lista.

5000 clientes.

Salvar TSQ.

Usuário PF8.

Recupera TSQ.

Próxima página.


Paginando consultas

PF7

Anterior

PF8

Próxima




IF EIBAID = DFHPF8

PERFORM PAGINA-SEGUINTE


END-IF



Boas práticas

Nunca coloque.

Tabela enorme.

Na COMMAREA.


Use.

TSQ.

Ou.

Containers.


LINK

Outro comando muito importante.

Chamando programa.




EXEC CICS LINK

PROGRAM('CLI0002')

COMMAREA(WS-COMM)

END-EXEC



Retorna.

Para chamador.


XCTL

Diferente.

Não retorna.



EXEC CICS XCTL

PROGRAM('MENU0001')

END-EXEC



Programa anterior.

Morre.

Novo.

Assume controle.


START

Assíncrono.

Agenda execução.




EXEC CICS START

TRANSID('CLI1')

END-EXEC



DELAY

Muito curioso.



EXEC CICS DELAY

FOR SECONDS(5)

END-EXEC



Raramente utilizado.


CEMT

Melhor amigo.

Administrador.


Consultar tasks.


CEMT I TASK



Consultar programas.



CEMT I PROGRAM



Consultar files.



CEMT I FILE



Consultar TSQ.



CEMT I TSQUEUE



CEDF

Ferramenta maravilhosa.


Permite.

Passo a passo.

SEND.

RECEIVE.

LINK.

READ.

WRITE.

DB2.




CEDF ON



CECI

Testador.

Interativo.



CECI READ FILE




CECI RECEIVE MAP



Curiosidades Bellacosa Mainframe

Existem sistemas.

Que utilizam.

TSQ.

Desde 1988.

Ainda funcionando.

No z16.

No z17.

Sem alterações.


Easter Egg Mainframe

Muitos programadores escondiam.

Comentários.

Como.



* THIS PROGRAM IS OLDER THAN YOU


Ou.



* IF IT BREAKS


* RUN AWAY



Ou.



* WRITTEN DURING NIGHT SHIFT


* POWERED BY COFFEE



O que veremos na Parte 5

✔ Program Control;

✔ HANDLE CONDITION;

✔ HANDLE ABEND;

✔ RESP e RESP2;

✔ Syncpoint;

✔ Journaling;

✔ Recoverable Resources;

✔ Mirror Transactions;

✔ DPL;

✔ IPIC;

✔ CICSplex;

✔ CPSM;

✔ Threadsafety;

✔ Open TCBs;

✔ OTE;

✔ E muitos outros segredos do universo CICS.


No Bellacosa Mainframe aprendemos uma regra simples: se você acredita que já conhece o CICS, provavelmente apenas encontrou a próxima porta do labirinto. Porque no IBM Z sempre existe mais um control block para estudar, mais um dump para analisar e mais um café esperando para ser servido.

 

segunda-feira, 2 de dezembro de 2019

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

 

Bellacosa Mainframe e o call em cobol parte xii

☕💥 A Jornada do Padawan COBOL – Parte 12

Desvendando o Universo dos CALLs no Mainframe

PSA, CVT, ASCB, TCB, RB, ACEE, CSA, ECSA, LSQA, SQA e os Mistérios dos Control Blocks que Sustentam o z/OS

Ou como descobrir que existe um universo inteiro escondido em endereços hexadecimais que praticamente nenhum desenvolvedor COBOL vê

Por Vagner Bellacosa – Bellacosa Mainframe


O Dia em que o Padawan Descobre o Lado Oculto do z/OS

Depois de onze capítulos, o Padawan já acredita compreender bastante coisa.

Conhece:

✅ CALL

✅ LE

✅ CICS

✅ JES2

✅ GRS

✅ VVDS

✅ RMF

✅ SMF

✅ Telum

Até que um Sysprog abre IPCS.

Digita:

IP XDATA

E aparece:

PSA
CVT
TCB
ASCB
ACEE
RB

Padawan:

— O que é isso?

Veterano:

— O esqueleto do z/OS.


O Grande Segredo

No Mainframe tudo é Control Block.

Tudo.

Usuário.

Job.

CPU.

Storage.

Segurança.

Dataset.

Task.

Transação.

Tudo.


Visualmente


Programa COBOL

↓

TCB

↓

ASCB

↓

CVT

↓

PSA

↓

Hardware


PSA

Processor Storage Area


O primeiro bloco.

O mais importante.


Endereço:

00000000

Existe uma PSA.

Por processador.


Contém:

PSW

Interrupções

TCB Atual

Old PSW

New PSW

Save Areas


O PSW

Program Status Word


Coração da CPU.


Possui:

Endereço instrução

Modo

Máscaras

Estado


Exemplo

078D1000 80000000

Veteranos gostam.

Muito.


CVT

Communications Vector Table


O GPS do z/OS.


Tudo aponta.

Para CVT.


CVT aponta.

Para:

SMCA

JES

TCB

ASVT

Catalog

LPDB

CSA


Como encontrar

Assembler

L R1,CVTPID

IPCS também.


ASCB

Address Space Control Block


Representa.

Address Space.


Exemplo

TSO

DBM1

CICSA

JES2


Cada um.

Tem.

ASCB.


Contém

Nome

ASID

Usuário

TCBs

Storage


TCB

Já vimos.

Mas agora.

Internamente.


Task Control Block


Representa.

Thread.

Execução.

Task.


Contém.

Registradores.

Prioridade.

PSW.

RB.


RB

Request Block


Histórico.

Execução.


CALL.

Empilha RB.

Retorno.

Desempilha.


Visualmente


MAIN

↓

RB

↓

CALL A

↓

RB

↓

CALL B

↓

RB


ACEE

Accessor Environment Element


Favorito do RACF.


Representa.

Usuário.


Possui:

Userid

Groups

Permissões

Security Label


Quando faz:

TSO LOGON

ACEE nasce.


CSA

Common Storage Area


Memória compartilhada.


Todos acessam.


Perigosa.


Corrupção.

Pode derrubar sistema.


ECSA

Extended CSA


Versão ampliada.


Maior.

Melhor.


SQA

System Queue Area


Storage crítico.


Kernel usa.


Pouco espaço.

Muito importante.


LSQA

Local System Queue Area


Privada.

Por Address Space.


Subpools

Veteranos gostam.

Muito.


Exemplo

229

230

241


Storage.

Especializado.


Save Area

Assembler clássico.


72 bytes.


Exemplo

STM 14,12,12(13)

Salva.

Contexto.


IPCS

Melhor amigo.

Do Sysprog.


Pode mostrar.

PSA

TCB

ASCB

RB

ACEE


Exemplo

IP MTRACE

CEEDUMP

Também ajuda.


Mostra.

Stack.

Call chain.

Offsets.


O caminho de um CALL

Padawan escreve:

CALL 'PAGTO'

Internamente.

Pode ocorrer.


COBOL

↓

LE

↓

TCB

↓

RB

↓

PSW

↓

CPU

↓

RETURN



Tudo.

Em microssegundos.


O grande erro

Padawan pensa.

CALL é simples.

Veterano pensa.

CALL cria.

RB.

Storage.

Stack.

TCB Activity.

LE.

Heap.

PSW Update.


Ferramentas Jedi

IPCS

AMBLIST

CEEDUMP

RMF

SMF

VERBX

TRACE


Easter Egg Mainframe

Existe um grupo.

Capaz de olhar.

Isto.

TCB

RB

ACEE

PSA

CVT

ASCB

E dizer.

Em cinco minutos.

Quem é usuário.

Qual programa.

Onde caiu.

Quanto storage.

Qual PSW.

Qual registrador.


São conhecidos.

Como.

Os Senhores dos Control Blocks


Checklist Jedi

✅ Entender PSA

✅ Conhecer CVT

✅ Aprender ASCB

✅ Estudar TCB

✅ Entender RB

✅ Conhecer ACEE

✅ Respeitar CSA

✅ Estudar LSQA

✅ Explorar IPCS

✅ Ler CEEDUMP

✅ Conhecer Subpools


Filosofia Jedi – Parte 12

O Padawan acredita:

z/OS executa programas.

O Desenvolvedor experiente pensa:

z/OS gerencia recursos.

O Sysprog compreende:

z/OS é uma gigantesca coleção de Control Blocks conversando entre si.

E o Arquiteto IBM Z sabe que, por trás de um simples:

CALL 'SUBPGM'

existe um universo de PSA, CVT, TCB, RB, ACEE, Save Areas, registradores, PSWs e estruturas de controle que sustentam alguns dos sistemas mais importantes do planeta.




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...