CONCEITOS BÁSICOS DE O.S.
(PARA O SISTEMA IBM/360-370)
Roberto
INFORMAÇÃO
CPD 6
Barsotti
l E A 55
A B R I L/1977
I N F _ I E A ^
CPD
A B R I L/1977
6
CONCEITOS BÁSICOS DE O.S.
(PARA O SISTEMA IBM/360-370)
R o b e r t o Barsotti
CENTRO DE PROCESSAMENTO DE DADOS
(CPDÏ
I N S T I T U T O DE E N E R G I A A T Ô M I C A
SÃO PAULO - B R A S I L
APROVADO P A R A P U B L I C A Ç Ã O E M NOVEMBRO/1976
CONSELHO DELIBERATIVO
MEMBROS
Klaus Reinach — Presidente
Roberto D'Utra Vaz
Hélcio Modesto da Costa
Ivano Humbert Marchesi
Admar Cerveilini
PARTICIPANTES
Regina Elisabete Azevedo Beretta
Flávio Gori
SUPERINTENDENTE
Rómulo Ribeiro Pieroni
I N S T I T U T O DE E N E R G I A A T Ô M I C A
Caixa Postal 11.049 (Pinheiros)
Cidade Universitária "Armando de Salles Oliveira"
SÃO PAULO -
BRASIL
NOTA: Este trabalho foi conferido pelo autor depois de composto e sua redação está conforme o original, sem qualquer
correção ou mudança.
ÍNDICE
Páyina
Prefácio
1
. . .
01
01
Introdução ao O S .
2 Organização d o O . S
05
2.1 Programas de c o n t r o l e
05
2.1.1 J O B M A N A G E I V I E I M T
06
2.1.2 T A S K M A N A G E M E N T
09
2.13
11
DATA MANAGEMENT
2.2 Programas d e processamento
12
2 2.1 C o m p i l a d o r e s , tradutores o u m o n t a d o r e s
12
2.2.2
Programas d e serviço
1>^
2.2.2.1
LINKAGE EDITOR
13
2.2.2.2
LOADER
17
2,2.2 3 S O R T / M E R G E
18
2.2.2.4
19
UTILITÁRIOS
2.2.3 Programas d o usuário
3 O p ç õ e s d o programa d e c o n t r o l e
21
23
3.1 P C . P . - P r i m a r y C o n t r o l P r o g r a m
23
3.2 M u l t i p r o g r a m a ç ã o
23
3 2.1 M . F . T . -
M u l t i p r o g r a m m i n g w i t h a f i x e d n u m b e r o f Tasks
26
3.2,2
M u l t i p r o g r a m m i n g w i t h a variable number o f Tasks
29
M.V.T. -
4 Características d o O . S
32
5
Conceitos de D A T A M A N A G E M E N T
35
5.1
F o r m a t o s d e registros
35
5 1.1
37
Registros de f o r m a t o f i x o
5.1.2
5.1.3
Registros de f o r m a t o variável
38
5.1.2.1
39
Registros de f o r m a t o variável spanned
Registros d e f o r m a t o indefinido
.• •
39
5.2 Organização d e data sets
^0
5.2.1
Organização seqüencial
^1
5.2.2
Organização seqüencial indexada
*1
5.2.2.1 Á r e a primária
^2
5.2.2.2 Á r e a d e índices
. . .
5.2.2.3 Á r e a d e o v e r f l o w
5.2.3
Organização direta
.•
• • •.
^3
•
*8
5.2.3.1 E n d e r e ç a m e n t o direto
^8
5.2.3.2 E n d e r e ç a m e n t o indireto
5.2.4
'*®
Organização particionada
^1
5.3 T é c n i c a s de acesso
5.3.1
Técnica Q U E U E D
53
5.3.2
Técnica B A S I C
53
5.4
M é t o d o s de acesso
5.5
Labels
5.6
54
•
5.5.1
T a p e labels
5.5.2
Dasd labels
55
'
55
57
Data sets d o sistema
57
5.6.1
Data sets obrigatórios
58
5.6.2
Data sets opcionais
58
6 Controle do
6.1
^2
simma
Introdução
6.2 J O B C O N T R O L L A N G U A G E
59
59
61
6.2.1
Cartões d e J . C . L
61
6.2.2
C a m p o s no cartão d e J . C . L
62
6.2.3
Regras para continuar u m cartão de J . C . L
63
6.2.4
T i p o s de parâmetros no J . C . L
63
6.2.5
Uso d« parênteses e apóstrofes e m J . C . L
63
6.2.6
P r o c e d i m e n t o s catalogados
64
6.2.7
Bibliotecas particulares
64
6.2.8
Data sets concatenados
65
7 N o ç S a s da teleprocessamento
66
7.1
E l e m e n t o s básicos d e u m sistema de T . P
66
7.2
Principais aplicações d e teleprocessamento
67
8
A l g u m a s considerações sobre o / 3 7 0
9
Anexos
.
•
68
70
9 1 Tabela d e aplicações usuais d o s utilitários
70
9 2 C o m p a r a ç ã o entre linguagens q u a n t o a facilidades de D A T A M A N A G E M E N T
72
9.3
Tipos de sistemas operacionais pra c o m p u t a d o r e s I B M / 3 6 0
73
9.4
R e p e r t ó r i o de algumas siglas e a c r ô n i m o s mais usados e m c o m p u t a ç ã o
74
ABSTRACT
81
REFERÊNCIAS BIBLIOGRÁFICAS
81
CONCESTOS BÁSICOS DE O.S.
(PARA O SISTEMA SBM/360-370)
Roberto
Barsotti
RESUMO
São apresentados conceitos básicos do Sistema Operacional O S . com intuito de fornecer aos leitores uma visão
geral do potencial e das características do referido Sistema Operacional,
Estas características são apresentadas de forma sucinta mas suficiente para compreender-lhe a eficiência e o
PREFÁCIO
Ejsta publicação é o resultado de u m curso interno que tivemos oportunidade de desenvolver, no
p e r í o d o dé setembro-outubro
É
extremamente
d e 7 5 , para alguns programadores d o nosso C P . D .
difícil,
senão impossível, escrever sobre O . S . , de f o r m a
introdutória, sem
repetir o que já foi escrito e m outras publicações. Querer escrever algo diferente implicaria e m descobrir
ou
inventar
algo
novo
no
O . S . que
ninguém
ainda
tivesse descoberto
ou
inventado.
O r a , isso é
impossível. O que varia entre as inúmeras introduções ao O . S . existentes, é a abordagem d o assunto e o
maior
ou
menor
detalhamento
de uma
ou
de outra
parte, dependendo
do
interesse específico
da
publicação ou de seu autor. E x a m i n a d a sob este prisma a presente publicação se justifica porque, mesmo
sem
acrescentar nada de novo ao O . S . , ela é resultado de u m curso estruturado de f o r m a a, pelo menos
tentar,
apresentar
o
O . S . conforme
as necessidades dos programadores
que frequentaram
o
curso,
devendo considerar as limitações d o autor q u e foi q u e m ministrou o citado curso.
O u t r o p o n t o q u e justifica a existência destas notas é a necessidade de publicações introdutórias
ao
0,8-,
para os novos integrantes d o nosso C P . D . ,
muitos
dos quais entram
para este C e n t r o sem
c o n h e c i m e n t o algum d o assunto, recebendo aqui seu treinamento.
S e m p r e visando os novos integrantes c o m pouca ou nenhuma experiência e m c o m p u t a ç ã o ,
anexada n o
final
da
publicação
uma
foi
série de anexos q u e nós consideramos úteis para esta fase de
t r e i n a m e n t o e , e m alguns casos, mesmo para fases mais adiantadas.
Para finalizar agradeceríamos toda e qualquer sugestão que viesse melhorar ou completar estas
notas tornando-as mais úteis.
1 -
INTRODUÇÃO
A
evolução da tecnologia
completo e complexo
de c o m p u t a d o r e s
faz c o m q u e o hardware se t o r n e cada vez mais
para conseguir resultados cada vez mais satisfatórios.
Isto
torna
extremamente
d i f í c i l e demorada a operação d o c o m p u t a d o r acarretando u m uso ineficiente da U . C . P . ( U n i d a d e Central
de Processamento) e dos periféricos.
Analista de Sistemas — Centro de Processamento de Dados; Instituto de Energia Atômica, São Paulo, S P .
o
sistema operacional visa eliminar estes problemas c o n f e r i n d o ao c o m p u t a d o r
a possibilidade
de se auto controlar d e p e n d e n d o o menos possível da intervenção humana.
O
O.S.-
OPERATING
S Y S T E M - é u m sistema operacional c o n s t i t u í d o
programas fornecidos e mantidos pelo fabricante -
no caso a I B M - e
que t e m
por u m c o n j u n t o de
por
finalidade básica
obter o melhor r e n d i m e n t o possível da máquina. E m outras palavras: são recursos de S o f t w a r e destinados
a obter u m a utilização m á x i m a dos recursos de H a r d w a r e .
D o c o n j u n t o de programas que c o n s t i t u e m o Sistema operacional c o m p l e t o , o usuário seleciona
aqueles de q u e necessita baseando o criterio de seleção nas necessidades reais do
seu C P . D . e
na
de programas
que
configuração d i s p o n í v e l .
A
qualquer
momento
é
sempre possível ao usuário
ampliar
o
número
constituem o seu O . S . e esta a m p l i a ç ã o t a n t o pode advir de necessidades de trabalho a ser desenvolvido
pelo C . P . D . , c o m o d o a u m e n t o da configuração. É interessante notar q u e , devido à filosofia
modular
c o m q u e são concebidos o hardware e o s o f t w a r e , a instalação de u m a u m e n t o da configuração o u de
u m e n r i q u e c i m e n t o d o S i s t e m a O p e r a c i o n a l não chegam a acarretar transtornos mais sérios.
I n d e p e n d e n t e m e n t e d e fabricante e da configuração, os c o m p o n e n t e s básicos d o hardware de
u m c o m p u t a d o r são:
— M e m ó r i a Principal
— U n i d a d e de cálculo a r i t m é t i c o e lógico
— U n i d a d e de c o n t r o l e de processamento
— Canais de entrada e saída
— U n i d a d e de c o n t r o l e dos dispositivos de entrada e saída
— Dispositivos de entrada e saída
A l é m desses, p o d e m o s acrescentar mais u m c o m p o n e n t e q u e podemos c h a m a r genericamente de
Memórias Auxiliares.
r ' l l l t B t HCl
« [ aoiii
PR I «
T
CIPIL
*
OItIflIf
• I
PISCIlIlBIlIfl
i
C
ÏZ
t i
c
I
•
t
I S
uirotgr
• 1
OITIIII
t
E S
(
S
Figura 1 — C o m p o n e n t e s Básicos d o H a r d w a r e
N o q u e se refere ao sistema operacional, t a m b é m podemos distribui'-lo e m três grupos cada u m
dos quais composto de vários m ó d u l o s :
— G r u p o de módulos requeridos
— G r u p o de módulos
alternativos
— G r u p o de m ó d u l o s opcionais
onde os módulos requeridos são aqueles de que o sistema operacional sempre necessita. O s alternativos
são módulos t a m b é m necessários porém c o m alternativa de escolha. F i n a l m e n t e os opcionais podem ou
não fazer parte do sistema operacional.
8198(1)1818
'
A
ipeiaailS
•
V
•
S I S T E HA
\
\
Figura 2 -
Criação do Sistema Operacional d o Usuário
A criação d o sistema operacional do usuário se dá em três etapas:
I
-
STARTER SYSTEM
a biblioteca completa de programas de O . S . ( S T A R T E R
SYSTEM)
enviada ao usuário pelo Program I n f o r m a t i o n D e p a r t a m e n t ( P . I . D . )
II
bibliotecas
— SYSTEM
GENERATION
necessárias sendo
GENERATION.
a
seKíção
dessa biblioteca
efetuada
a
completa
partir
de
um
são selecionados os programas
procedimento
chamado
e
SYSTEM
Ill
-
0,S.
DO
USUÁRIO
o
O . S . do
usuário
está
criado,
correspondendo
às
suas
necessidades.
Uma
vez
instalado,
o
O S , propicia
ao
Sistema uma
série de facilidades
dentre
as quais
destacam-se:
— Determinação d a
prioridade
estabelecida
competição
prioridade
pelo
prioritária
usuário,
existe
tanto
de J o b — o
O . S . permite
independentemente
da
a execução dos J o b s
ordem
de
e m J o b s alimentados por terminais
entrada
no
segundo a
sistema.
Esta
remotos, c o m o e m J o b s
que
entram via e q u i p a m e n t o s da própria instalação.
— Aproveitamento
d o t e m p o de S e t - u p — T e m p o de S e t - u p é o t e m p o q u e o operador gasta
para preparar u m dispositivo
de entrada e sai'da. O O . S . permite aproveitar este t e m p o , processando
programas e m outras partes da memória.
— A l o c a ç ã o automática
de ser disputado
automática
ex: memória
e otimizada
especifica
qual
de recursos — P o r recursos entendemos t u d o aquilo q u e é passível
principal, áreas e m discos, etc. Estes recursos são alocados de
forma
pelo O . S . que cria as chamadas R E S O U R C E Q U E U E (Filas de Recursos) onde
recurso
está
sendo
requisitado
e
qual
o
programa
que
R E S O U R C E Q U E U E são pesquisadas sempre que ocorrer uma interrupção
está
requisitando.
Estas
qualquer.
— Designação simbólica de unidades de E / S — O O . S . permite que o usuário associe uma o u
mais unidades físicas de entrada
DISCO,
SYSDA,
deixando
físico
e
3420)
e saída, c o m características similares, a u m certo s í m b o l o
e a partir
desse instante
usar o s í m b o l o
do
grupo
(FITA,
de unidades desejado,
ao sistema a escolha final. C o m isto, o usuário não precisa se preocupar c o m o endereço
outros
detalhes
específicos de cada unidade, assim c o m o , fica
eliminado
o
problema
do
usuário escolher u m a unidade ocupada o u não operativa naquele m o m e n t o ,
O
principal
objetivo
do
O.S. é
conseguir
configuração — h a r d w a r e / s o f t w a r e — e os tipos
sistema é d e n o m i n a d o
"PERFORMANCE"
de
um
uso
eficiente
aplicações d o
usuário,
do
sistema
considerando
E s t e uso eficiente
de
a
um
e não é n e n h u m valor numérico mas sim a c o m b i n a ç ã o de
três fatores:
—
THROUGHPUT
— volume
total
de
trabalho
executado
pelo
computador
num
dado
intervalo de t e m p o .
— TURNAROUND
TIME
-
ou
tempo
de
resposta
-
tempo
médio
transcorrido
entre
a
submissão de u m item de trabalho ao c o m p u t a d o r e a o b t e n ç ã o d o seu resultado.
— DISPONIBILIDADE
— grau
de
disponibilidade
dos
recursos
necessários a serem usados
para o processamento.
Com
o
O . S . conseguimos
automaticamente
o
uso de
incrementar
o throughput,
recursos. E m outras
reduzir o turnaround
palavras, o uso do
time
e otimizar
O . S . acarreta uma considerável
melhora na P e r f o r m a n c e de u m sistema.
Outro
objetivo
do
O.S. é
proporcionar,
aos usuários
em
geral, assistência e
informações
necessárias ao desempenho de suas atribuições, além de permitir expansão d o sistema — a u m e n t o
de
recursos de H a r d w a r e e S o f t w a r e — sem necessidade de reprogramar o que já havia sido desenvolvido.
Embora
voltemos
a este assunto e m detalhes, vamos adiantar q u e existem três opções para
instalar u m sistema o p e r a c i o n a l :
-
p. C . P. -
P r i m a r y C o n t r o l Program
-
M. F. T. -
M u l t i p r o g r a m m i n g w i t h a F i x e d N u m b e r of Tasks
-
M. V . T. -
M u l t i p r o g r a m m i n g w i t h a V a r i a b l e N u m b e r of Tasks
e a escolha de uma delas depende basicamente das necessidades d o C P D e da configuração d i s p o n í v e l .
2 - ORGANIZAÇÃO
O
podem
sistema
ser
DO O.S.
operacional
agrupados
em
do / 3 6 0 é c o n s t i t u í d o
duas
classes
de uma coleção organizada de programas q u e
fundamentais:
programas
de
controle
e
programas
de
processamento. Os primeiros são aqueles cuja execução somente é possível q u a n d o a U . C . P . estiver e m
estado de supervisor;
os outros
tem
sua execução permitida q u a n d o a U . C . P . estiver e m estado de
problema .
2.1 - Programas de C o n t r o l e
Os programas de controle
dispõem de rotinas que c o o r d e n a m as ações d o O . S . respondendo
por todas as funções oferecidas ao usuário. C o m p õ e m - s e d e :
-
JOB MANAGEMENT
-
TASK MANAGEMENT
(programas controladores de T A S K S )
-
DATA MANAGEMENT
(programas controladores de D A D O S )
JOB
(programas controladores de J O B )
TASK
DATA
MANAGEMEílT
MANAGEiEüT
C
P
<1_
•ElORIA
PIIRCIP&L
IBPüT
O.
Figura 3 -
C o m p o n e n t e s do Programa de controle
6
2.1.1.-JOB
As
MANAGEMENT
rotinas
do
JOB MANAGEMENT
calae-llies dirigir e controlar
ocupam
uma
posição
importantíssima
o f l u x o de J o b s no sistema além de possibilitar
no
O . S . pois
a c o m u n i c a ç ã o entre o
operador e o sistema e vice-versa. Basicamente suas funções são:
— Analisar o input stream
— O b t e r unidades de entrada/saída
— conseguir espaço e m D A S D
— selecionar jobs para a execução
— transcrever dados (spooling)
— comunicar-se c o m o operador
Para cumprir
suas funções o J O B M A N A G E M E N T é dividido e m :
READER / INTERPRETER
*JOB S C H E D U L E R
<
INITIATOR / TERMINATOR
OUTPUT
*MASTER
0
MASTER
WRITER
SCHEDULER
SCHEDULER
é a parte d o J O B M A N A G E M E N T
encarregada da c o m u n i c a ç ã o
entre o operador e o sistema operacional. Esta c o m í :nicação se dá, via de regra, através da console de
operação.
N o s casos
em
que
a
operação do
sistema
possa ser planejada
c o m a n d o s de operação p o d e m ser colocados, via J O B C O N T R O L C A R D S ,
são
enviados
ao
Master
Scheduler
à
medida
que
são
com
antecipação, certos
no I N P U T S T R E A M
identificados
pelo
onde
J o b Scheduler
( R e a d e r / I nterpreter).
0 JOBSCHEDULER
1 -
por sua vez se c o m p õ e de três programas:
READER/INTERPRETER -
memória via c o m a n d o S T A R T
READER.
Este
programa
do
JOB MANAGEMENT
é
carregado
na
E m M V T a Reader entra na posição mais alta da m e m ó r i a
e seu t a m a n h o varia entre 4 0 e 60 K de memória. E m M F T ela t e m o t a m a n h o d o Initiator.
A s funções principais do R E A D E R / I N T E R P R E T E R
a — ler, interpretar
são:
e analisar o I n p u t S t r e a m
b — criticar a consistência dos cartões de controle — J . C . C .
c — assumii- os defaults
d — carregar os cartões de dados n u m data set temporário
e intermediário
chamado
Input
Data S e t , assinalando seu endereço nas tabelas correspondentes da S Y S 1 . S Y S J O B Q E
e-gravar
os J . C . C . nas S Y S 1 . S Y S J O B Q E segundo classe e prioridade e m f o r m a de tabelas
(blocos) de controle q u e são utilizados para descrever o J O B ao sistema.
A s tabelas são:
-
J.C.T.
-
J O B CONTROL
-
S.C.T.
-
STEP
T A B L E - construída a partir d e informações do cartão J O B
CONTROL
T A B L E - construída
a
partir
de
informações
do
cartão
EXEC
-
S.I.O.T.
— STEP
I/O
TABLE —
construída
a partir
de
informações
dos cartões
DD
informações
dos
para o S T E P .
-
J.F.C.B. -
J O B FILE
CONTROL
BLOCK -
construída
a
partir
de
cartões D D referentes aos arquivos do J O B .
A
INPUT
partir das tabelas J C T , S C T e S I O T é c o n s t r u í d a uma outra tabela chamada T I O T -
TASK
O U T P U T T A B L E — a qual possui uma entrada para cada data set usado d u r a n t e o j o b step.
jcr
JOB
SCT
TIOT
SIOT
conreoi
um
JFCB
Figura 4 -
II -
F o r m a ç ã o d e T a b e l a s ( B L O C O S ) de C o n t r o l e
INITIATOR/TERMINATOR
-
é carregado na memória via c o m a n d o S T A R T I N I T , , A .
E m M V T podemos ter até o i t o classes e em M F T a t é três.
A s funções principais do I N I T I A T O R / T E R M I N A T O R
são:
a — selecionar
os
JOBs
a
partir
das
classes correpondentes
na
SYS1.SYSJOBQE:
sequencialmente se for P . C P . e por prioridades se for M . F . T . o u M . V . T .
b - alocar memoria ( e m M V T )
c - alocar dispositivos de entrada e saída
d - ficar t o t a l m e n t e dedicado ao J O B até o ú l t i m o S t e p .
e - fechar os arquivos q u e não f o r a m fechados pelo J o b .
f —carregar o registrador
Ill—OUTPUT
d o usuário
de
(OUTPUT
saída tais c o m o :
usuário indica
15 c o m código de
retorno.
W R I T E R — realiza o ' s p o o l ' de saída, isto é : transcreve a saída
D A T A S E T ) criada temporariamente
impressora,
perfuradora,
intermediaria
e m disco, para os respectivos
dispositivos
etc (ver Figura 5 ) . P o r m e i o d o cartão D D do J C L o
e m que classe de writer deverá ser armazenado seu relatório. Cada classe, e m t e m p o de
geração, é associada a u m dispositivo
de saída e x : / / D D S Y S O U T = A .
Isto significa q u e o relatório
. d o usuário será armazenado e m uma classe de writer A .
OUTPUT
WRITER
STSOUT
mmssm
Figura 5 — E s q u e m a do " s p o o l " de S a í d a
Estes
três
SYS1 .SYSJOBQE.
MANAGER
programas
Para
isto
que
compõem
o
JOB SCHEDULER
eles se utilizam de rotinas
do
às quais cabe a m a n u t e n ç ã o da S Y S 1 . S Y S J 0 B Q E
manipulam
dados
contidos
Sistema Operacional chamódas
que reside e m unidade de acesso direto.
Vistas, de f o r m a esquemática, as principais funções da R E A D I N G T A S K , I N I T I A T I N G
e WRITING
T A S K , vejamos o f u n c i o n a m e n t o
na
QUEUE
do J O B S C H E D U L E R
TASK
c o m o u m t o d o considerando as
opções M F T e M V T .
O
I n p u t S t r e a m é lido, interpretado
e analisado, separando os cartões de dados dos cartões
de c o n t r o l e — J . C . C — . O s primeiros
são gravados n u m data set temporário
e
set
os J . C . C são
gravados
num
prioridade, indo constituir as
data
do
sistema
chamado Input
chamado S Y S 1 . S Y S J O B Q E ,
Data S e t
segundo
classe e
tabelas, o u blocos, de controle que descrevem o J O B para o sistema. O s
J O B s assim gravados ficam
a espera de serem selecionados para a e x e c u ç ã o . U m a vez selecionado
JOB
na S Y S 1 . S Y S J O B Q E ,
o
qual
o J O B STEP
INITIATOR/TERMINATOR
a ser carregado, carrega-o c u i d a n d o
execução. F e i t o isto o J O B S T E P
execução q u a n d o o c o n t r o l e
liberando
ou
não
terminados.
é retomado
os recursos alocados
disto o u t r o J O B S T E P
estejam
é inicializado,
é buscado
descobre, através da S t e p C o n t r o l
da alocação dos
após o q u e o c o n t r o l e
(dependendo
do
q u e for
até o final da
para finalizar o J O B S T E P
determinado
recomeça até q u e todos
necessários à sua
é transferido
pelo I N I T I A T O R / T E R M I N A T O R
e o ciclo
recursos
o
Table,
pelos J . C . C ) .
Depois
os J O B S T E P s daquele J O B
o esquema representado na Figura 6 mostra o f l u x o d e operações realizadas pelos programas
do J O B M A N A G E M E N T .
tssssis
disss
(«rlit
nislir
BcDsiiglír
jst
iilllitir/
larnintitr
lita
<
esrti*
>
NfelICiSM
^
Figura 6 -
2.1.2-TASK
itip
••tpll
liti
• rller
1
•
8
ir
iKirtsma
J o b Management
MANAGEMENT
D e m o d o geral Task é a menor unidade d e trabalho q u e luta independentemente, através da
sua Dispatching P r i o r i t y , pela U . C . P , o u , e m outras palavras, é u m " p r o g r a m a "
passível d e execução
independente.
Em
O . S . as Tasks são representadas pelo Task C o n t r o l
B l o c k - T . C . B . - q u e é u m bloco de
controle onde estão contidas todas as informações necessárias ao processamento de u m a T a s k .
É através da T C B q u e o O . S . " f i c a s a b e n d o " q u e uma tarefa precisa ser executada e existirão
tantas T C B s quantas f o r e m as Tasks e m execução no sistema.
O T A S K M A N A G E M E N T é u m c o n j u n t o de rotinas, q u e operam todas e m estado de supervisor,
cujas funções básicas são:
10
A ) — Supervisionar a execução de t o d o trabalho que o sistema realiza.
B) — Controlar o uso da U . C P . e outros recursos.
Em
vista
do
tipo
de
função
que
lhe
cabe
o
Task
Management é c h a m a d o t a m b é m
de
Supervisor.
O Supervisor desenvolve suas funções através d e :
I — Supervisão de interrupções
O
supervisor
recebe o
controle
da
U.C.P.
imediatamente
após uma
interrupção
a qual é
analisada para determinar qual rotina do sistema deve ser ativada.
Uma
interrupção
ocorre sempre que u m
programa
necessite dos serviços d o
programa
ou
então se algum evento requer processamento d o Supervisor.
E x i s t e m 5 tipos de interrupções:
A ) — Interrupção
causada
por
por
chamada d o supervisor ( S V C I N T E R R U P T I O N ) .
instruções d o
programa
Esta interrupção é
q u e pedem a transferência d o c o n t r o l e
para o
Supervisor.
B) -
Interrupção de entrada e saída ( I / O I N T E R R U P T I O N ) - causada sempre pelo f i m de
u m a operação de entrada e saída.
C) -
Interrupção
externa
(EXTERNAL
I N T E R R U P T I O N ) - causada por algum
dispositivo
externo q u e necessita do Supervisor.
D) -
Interrupção
por
erro
de
programa
(PROGRAM
I N T E R R U P T I O N ) - este tipo
de
interrupção ocorre sempre que u m programa tentar executar operações inválidas.
E) -
Interrupção
por
erro de máquina
(MACHINE
I N T E R R U P T I O N ) - ocorre q u a n d o a
U.C.P.. deteta erro no H a r d w a r e d o Sistema.
I I - Supervisão de T A S K s
Exerce
status,
o controle
sincronização
e
de todas as Tasks d o sistema no que diz respeito a seu uso, e x e c u ç ã o ,
principalmente
a ordem
em
que
estas
P r i o r i t y ) . Esta supervisão é efetuada ao nível das T C B s . ( T A S K
tasks
são executadas
CONTROL
(Dispatching
BLOCK).
I l l — Supervisão de M e m ó r i a Principal
É
a alocação, controle
e liberação da memória
principal
na região dinâmica
e na S y s t e m
Queue Área.
I V — Supervisão de C o n t e ú d o
A s rotinas de supervisão de c o n t e ú d o da memória t e m a atribuição de buscar e carregar programas
e rotinas, não residentes, na memória principal e passar-lhes o controle.
11
V - S u p e r v i s ã o de T I I V I E R
Trata-se de exercer u m c o n t r o l e
Uma
interno d o t e m p o d o sistema e processar suas interrupções.
interrupção de t e m p o ocorre q u a n d o u m valor, no intervalo de t e m p o , torna-se negativo
mostrando c o m isto que o t e m p o determinado
expirou.
U m a vez vistas as funções das rotinas d o Supervisor ou Task Management — resta chamar a
atenção
para
usuário
fornece
indiretamente
a interação existente
ao
sistema,
com
as
entre
quer
rotinas
o supervisor
diretamente,
do
TASK
quer
e o
usuário.
A t r a v é s dos
por
default,
ele
MANAGEMENT.
Como
está
parâmetros que
interagindo
exemplo
de
direta
parâmetros
o
ou
que
participam da interação t e m o s :
— A l o c a ç ã o da memória
— Criação de Tasks
— Determinação de prioridades
— T i m e slicing
— Etc.
2.1.3-DATA
MANAGEMENT
C o m o advento de instalações de processamento de dados cada vez maiores e mais possantes,
cresce consideravelmente o v o l u m e de programas e arquivos a serem manipulados diariamente, o q u e
acarreta
problemas
na
coordenação
da
utilização
dos
mesmos.
a u m e n t a m sua capacidade de armazenamento e os dispositivos
O s volumes
suportam
de
memória
auxiliar
cada vez mais volumes. Isto
torna o acesso mais c o m p l e x o e o t e m p o d e set-up maior.
Para
isso
o
O . S . conta
com
um
conjunto
de programas
controladores
M A N A G E M E N T - os quais são os responsáveis pela organização dos
registros
de dados — D A T A
de informações,
c o n t r o l e de t o d o o meio externo d e a r m a z e n a m e n t o e pela transferência de dados entre a
pelo
memória
principal e a externa.
Estes programas são compostos de rotinas tais c o m o :
I
- DADSM -
D I R E C T A C C E S S D E V I C E S P A C E M A N A G E M E N T - são rotinas que p r o c u r a m
e a l o c a m espaço em D A S D de f o r m a automática e otimizada.
II
- M é t o d o s d e Acesso - rotinas para manusear tipos de arquivos particulares considerando sua
organização e a técnica de pesquisa dos mesmos.
I I I — Supervisor de E n t r a d a e S a í d a — afetua o controle de transferência de dados da memória para
u m dispositivo de entrada e saída e vice-versa.
I V —Suporte
de
Entrada
e
S a í d a — consiste
de
rotinas
transientes
que
realizam
funções
específicas relacionadas c o m arquivos. E n t r e el.tó t e m o s O P E N , C L O S E , E O V , e t c .
Mais
adiante, n u m c a p í t u l o
a parte, serão apresentados alguns conceitos relativos ao
M A N A G E M E N T , tais c o m o : formatos de registros, organização de data sets, técnica de acesso, etc.
DATA
12
2 . 2 - Programas de Processamento
E x i s t e m três tipos de programas de processamento:
-COMPILADORES,
TRADUTORES
-PROGRAMAS
DE SERVIÇO
-PROGRAMAS
DO
OU
MONTADORES
USUÁRIO
2.2.1 — C o m p i l a d o r e s , T r a d u t o r e s o u M o n t a d o r e s
São
programas q u e c o n v e r t e m (traduzem) uma linguagem f o n t e c o m p r e e n s í v e l pelo usuário,
numa outra linguagem c o m p r e e n s í v e l pela máquina chamada linguagem de máquina.
Os
compiladores
são programas c o m
características similares a outros programas e m estado
problema e para o O . S , não há distinção entre estes e aqueles.
Evidentemente
existe
um
compilador
para cada linguagem
fonte
ao qual
cabe
a tradução
daquela linguagem para a linguagem de máquina.
Por
outro
lado, e m decorrência de limitações de H A R D W A R E ,
para linguagens de alto nível não se apresenta constituída
subconjunto
forma,
prática
de todas as possibilidades, mas sim de u m
das mesmas q u e varia e m quantidade d e p e n d e n d o da potencialidade da máquina. Desta
embora
convertido
a maioria dos c o m p i l a d o r e s
teoricamente
para
isto
uma
seja
linguagem
possível
de
um
máquina,
programa
utilizando
numa
certa
qualquer
linguagem
compilador
de
desta
não acontece. É preciso conhecer as restrições específicas d o c o m p i l a d o r
alto
nível ser
linguagem,
na
utilizado, para
efetuar certas modificações no programa f o n t e d e m o d o a permitir sua c o m p i l a ç ã o .
Uma
observação a ser feiUi Jiz respeito ao uso do termo M O N T A D O R . A p r i n c í p i o este termo era
usado q u a n d o se tratava de conversão de uma linguagem de baixo nível para linguagem de máquina.
E n t r e t a n t o a distinção não se faz mais necessária na medida em q u e muitas linguagens de baixo nível
se
apresentam
utilização
com
características similares
de macro
instruções.
D e qualquer
às de
forma
alto
nível,
o termo
principalmente
mais utilizado
no
que
se refere
entre todos é o
à
termo
C O M P I L A D O R , independentemente d o nível de linguagem considerada.
Sãc
exemplos de c o m p i l a d o r e s :
-
ASSEMBLER
-
COBOL
-
FORTRAN
-
R P G
- Etc.
A
Figura?
para cada u m deles.
mostra os c o m p i l a d o r e s fornecidos pela I B M e o m í n i m o d e m e m ó r i a necessária
13
/
\
COMPILAi^O^ES
\ y
EXISTE
>'N.
/
C
\
i
F
E
«AO EIISTE
G
131 072
kitis •
85.511
irits
32.781
ftfttg
H
26M44
ASSEMBLER
FORTRAN
COBOL
•y
PL/I
'~ ^ -
RF6
^>"
J'
Âieoi
- ^
X
.
\
Figura 7 — Compiladores I B M
2.2.2 - Programas d e S e r v i ç o
Estes
programas, via de regra fornecidos
funções frequentemente
usadas na programação
pelo
fabricante,
tem
a finalidade
de auxiliar
dm
no q u e diz respeito à manipulação de programas e
dados.
Apresentamos a seguir os quatro
serviço abordando-os
grandes grupos que constituem
os c h a m a d o s programas de
apenas e m seus aspectos gerais e e m nivel i n f o r m a t i v o , c o m o aliás todas estas
notas o são.
Os programas de serviço dividem-se e m :
2.2.2.1 - Linkage E d i t o r
É
um
programa
encarregado de preparar
os módulos
de carga para execução. M ó d u l o
de
carga é u m a unidade lógica de codificação capaz de realizar uma f u n ç ã o ou várias relacionadas, q u e
está
em
formato
relocável, já c o m p i l a d o ,
pronto
para execução e carregado a partir de
qualquer
endereço de memória. P o r t a n t o a f u n ç ã o do Linkage E d i t o r é preparar a saída dos compiladores para
execução. Esta saída é trazida posteriormente
para a memória pelo programa F E T C H . .
14
As
-
funções básicas do
Linkage E d i t o r são:
Ligação d e M ó d u l o s
Devido
freqüentemente,
à facilidade
dividido
em
de
trabalho
módulos
e economia
cada
um
dos
de
tempo
quais
de programação
podendo
ser
um
codificado
programa
em
é,
linguagens
diferentes. A s s i m que cada m ó d u l o for compilado o Linkage E d i t o r intervém e faz a ligação dos mesmos
originando u m módulo
único.
MQOULO FORTE
MODUIO
COBOL
FOBTRâl
MODULO rORTE
fORTE
ASSEMIIER
OMñLUlOa
ASSEMBLER
COMPILADO
C060L
OBJETO
OiJETQ
IIRIAIE
ERITOR
•ootn.1
DE
CARBA
Figura 8 -
Ligação d e M ó d u l o s pelo L i n k a g e E d i t o r
— Edição de Módulos
Nos casos e m que certas funções de u m programa são substituídas é possível L i n k e d i t a r somente as
seções de controle afetadas e não o m ó d u l o f o n t e inteiro.
15
A
partir
de
informações
vindas dos cartões de controle — J . C . C . — o
Linkage E d i t o r
pode
substituir, renomear, deleter ou mover seções de controle.
E n t e n d e m o s por seção de controle
CâRTOES
a menor unidade que pode ser carregada separadamente.
OE
COBTBOU
VOOUlO
OE
c
cAitea
â
I
Figura 9 — E d i ç ã o de M ó d u l o s
— A c e i t a ç ã o de F o n t e s A d i c i o n a i s de E n t r a d a
O
Linkage E d i t o r permite
que subrotinas
trabalho de codificação do programa.
Quando
o
Linkage
Editor
processa
padrões possam ser incluídas reduzindo portanto o
Esta inclusão é efetuada sob c o m a n d o de cartões de controle.
um
programa
deste
tipo,
o
módulo
contendo
a subrotina é
recuperado na f o n t e de entrada modificada e feito a parte u m m ó d u l o de saída.
Os
símbolos
não
resolvidos,
mecanismo de pesquisa automática da
(•litt«
mesmo após o
processamento de toda
a entrada,
biblioteca.
rilQlgiii
•IB>ig>
caaiâ
i.a.eii
Figúralo
-
F o n t e s Adicionais de E n t r a d a
1.1
acionam
o
16
— Reserva de M e m ó r i a
O
Linkage
ASSEMBLER.
Da
compilador P L / I .
As
áreas
E ditor
mesma
comuns
processa
forma
seções
podem
são coletadas
ser
pelo
comuns
geradas
processadas
Linkage
áreas
Editor
pelos
compiladores
estáticas externas
FORTRAN e
reservadas
e a reserva de memória
pelo
principal
é
providenciada dentro do m ó d u l o de saída.
— Processa Pseudo Registros (Registros D u m m y )
O
requerida
Linkage
Editor
processa
pseudo
para os mesmos e registrando
registros
acumulando
o deslocamento
o
tamanho
total
da
memória
de cada u m deles. Durante a e x e c u ç ã o , a
memória necessária é adquirida d i n a m i c a m e n t e pelo programa.
— Cria Estruturas de O v e r l a y
Em
caso de programas
que usam subrotinas
externas que
não devem ser incorporadas aos
mesmos para minimizar a quantidade de memória necessária à execução d o programa. Neste caso é
reservada u m a área no programa principal, para a qual são trazidas as subrotinas e executadas u m a a
uma sob o controle do programa. O Linkage E d i t o r resolve os endereços e a relocação destas
subrotinas e a isto dá-se o n o m e de criação de overlay.
— Criação de M ó d u l o s de Carga Múltiplos
O Linkage E d i t o r t e m a faculdade de criar vários módulos de carga dentro de u m m e s m o
S t e p . Cada m ó d u l o de carga é c o l o c a d o na biblioteca c o m u m n o m e de m e m b r o ú n i c o , especificado
por cartão de controle.
— Processamentos Especiais e O p ç õ e s no Diagnóstico de S a í d a
Por
meio
de cartões de controle
é possível
influir
no
processamento
bem
como
requisitar
maior número de informações no relatório de saída.
— Designação de A t r i b u t o s
ao M ó d u l o de Carga
Q u a n d o o Linkage E d i t o r gera u m
no diretório da biblioteca.
formato
lógico
maneira
o
do
módulo
módulo
de carga, ele coloca u m a entrada para o
Esta entrada c o n t é m atributos
módulo.
O
programa
de controle
usa estes atributos
para determinar:
de
que
deve ser carregado, qual seu c o n t e ú d o , se é executável, se é executável mais de
uma vez sem recarga, se pode ser executado c o n c o r r e n t e m e n t e por mais de uma
— Designação de M e m ó r i a c o m
Esta
módulo
q u e descrevem a estrutura, o c o n t e ú d o e o
característica
é
possível
TASK.
Hierarquia
quando
for
utilizada
a
memória
de
núcleos
IBM—2361
( L . C . S . — Large C a p a c i t y S t o r a g e )
— Reserva de Á r e a s na M e m ó r i a P r i n c i p a l
Permite
Editor
e
para
que seja especificada a quantidade
os
Buffers.
Estas
opções somente
n í v e l F do Linkage E d i t o r ( 4 4 K bytes de memória
de memória
podem
principal
disponível
ser especificadas q u a n d o
principal).
para o
for
Linkage
utilizado
o
17
— R e l a c i o n a m e n t o c o m o S i s t e m a Operacional
O
Linkage E d i t o r pode ser executado de três f o r m a s :
JOB
STEP
-
quando
o
Linkage
Editor
é especificado
num
cartão de c o n t r o l e
EXEC
no
Input Stream.
* SUBPROGRAMA
^ SUBTASK
-
c o m a execução das macro instruções: C A L L ,
— c o m a execução da macro instrução
LINK,
XCTL.
ATTACH.
2.2.2.2-LOADER
Possui, basicamente, as mesmas funções d o
dos módulos
ao
mesmo.
de carga. O
É
mais
LOADER
rápido
que
o
prepara u m
Linkage
Linkage E d i t o r
programa
Editor
e
porém não permite
executável
por
isso
a catalogação
e passa o c o n t r o l e
mesmo
é
indicado
diretamente
para
testes
de
programas.
» "Oriin.P Fn;:TE - P. un nodulo c o H i f i c a d o confo£
mié»
iMlt
me
c e r t a 1 inguagon s i n b o -
uFia
lic.T uao e x e c u t á v e l ,
• CCfflPILABOR
-
f um t r a d u t o r dp un,i l i n g u a p.tTi s i n h o l i c a qu.ilqiu^r para
tiHyiliiir
1 i n r . u . T j M T de n á q u i n a .
• "'^'>n,r nr..TtTO- r un Tio.tulo en 1 inr.u.ip.on Je -
Wt«ii«
r e l o c á v e l e n;-io
r i ñ r i i i n n ,
e?íO~
•
litiir
T T " : v n r
rpT"'"r-r-rl.T,
.1
r-ljoto,
l.r
"P^"I.n
6r7
T
CVrrA-
¡ v i r t i r
un norfulo
f
fíe
un
nocíulo
-
nn nodulo '|o carr,fl.
pn
f'o r . i r , u l n a ,
liny^uap.or -
relocável c
pxocutavpl.
''•
r.ir".!
-
r
;'.iríi
lüi
prr-fT.T-i.i
jMiap.r"!
• «•Sfll
p n s r c r i o r
\o
r x n r u t n v r l
Figura 11 -
Módulos
rr'
r n r n í n . i ,
o
n n o
l i n r f -
18
2.2.2.3-SORT/MERGE
É u m programa de serviço utilizado para classificar ( S O R T )
e/ou intercalar
(MERGE)
registros de t a m a n h o f i x o ou variável, em várias modalidades, utilizando disco ou fita c o m o entrada,
saída e / o u área de trabalho.
Para poder utilizar o programa S O R T / M E R G E
I
são necessários os seguintes requisitos:
— Memória Principal:
15.500
b y t e s a l é m d a m e m ó r i a ocupada pelo Sistema O p e r a c i o n a l . Destes,
S O R T / M E R G E utiliza 12.000 e certas funções do sistema utilizam os 3.500 restantes.
II
- M e m ó r i a Auxiliar
(somente em caso de S O R T
pois o M E R G E
o
não precisa)
A ser usada c o m o áreas de trabalho devendo estar constituída no m í n i m o d e :
1 U n i d a d e de Acesso Direto ( 2 3 1 1 , 2314, 2301 ou 3330)
ou
3 Unidades de F i t a Magnética
A i n d a c o m relação à memória
auxiliar
é de se observar que a quantidade necessária depende
d o t a m a n h o do I N P U T e os dispositivos utilizados devem respeitar às seguintes restrições:
1? -
Residir no mesmo T I P O
DE
DISPOSITIVO
2? — Tratando-se de fita magnética o programa S O R T / M E R G E pode operar c o m uma mistura de
fitas de 7 a 9 trilhas. S e o data set de entrada do S O R T está numa fita de 7 trilhas, pode ser
usada qualquer c o m b i n a ç ã o de fitas de 7 e 9 trilhas, para memória auxiliar
e para saída,
podendo ainda gravar a saída e m discos ( 2 3 1 1 , 2314, 3 3 3 0 ) , ou tambor 2 3 0 1 .
Mas, se não for usada uma fita de 7 trilhas c o m o suporte do data set de entrada do S O R T ,
t a m b é m não pode ser usada uma fita de 7 trilhas para memória auxiliar o u para saída.
3? — Q u a n d o a memória auxiliar estiver em D A S D devem ser usadas no m í n i m o três áreas d o
mesmo t a m a n h o .
III — N o m í n i m o u m canal seletor ou u m canal multiplexor.
A
lógica d o S O R T / M E R G E
pode ser esquematizada c o n f o r m e mostra a Figura 12.
all«lia(t9
Itrt
••(|«
1
Figura 12 -
i
Lógica do S o r t / Merge
19
2.2.2.4-
UTILITARIOS
São
de
programas de serviço utilizados para manipulações de data set c o m o : mudança de meio
armazenamento,
poderosos
e
atualização,
normalmente
deleção,
cada u m
inicialização
deles
pode
de
executar
volumes,
etc.
mais de uma
São
programas
função,
bastante
assim c o m o , cada
f u n ç ã o pode, via de regra, ser executada por mais de u m utilitário.
Estes programas são fornecidos pela I B M e são agrupados em três classes de acordo c o m suas
características:
Divisão dos U t i l i t á r i o s no O . S . Release 21.7
Divisão dos U t i l i t á r i o s no O . S . Release 19
SYSTEM
DATA SET
INDEPENDENT
SYSTEM
DATA S E T
INDEPENDENT
UTILITIES
UTILITIES
UTILITIES
UTILITIES
UTILITIES
UTILITIES
IBCDASDI
lEHPROGM
lEBCOPY
IBCDASDI
lEHPROGM
lEBCOPY
lEHMOVE
lEBGENER
IBCDMPRS
lEHMOVE
lEBGENER
IBCDMPRS
lEHLIST
lEBCOMPR
IBCRCVRP
lEHLIST
lEBCOMPR
IBCRCVRP
lEHINITT
lEBPTPCH
lEHINITT
lEBPTPCH
ICAPRTBL
lEHIOSUP
lEBTCRIN
lEHIOSUP
lEBTCRIN
IFCEREPO
lEBUPDTE
lEHDASDR
lEBUPDTE
IFCDIPOO
I E Bi S A M
lEHATLAS
IEB:SAM
lEHSTATf^
lEBEDIT
lEHDASDR
lEBEDIT
lEHATLAS
lEBUPDAT
lEBUPDAT
IFHSTATR
lEBDG
lEBDG
I - SYSTEM
UTILITIES
E x e c u t a m funções d o sistema tais c o m o : criar estruturas, deleter
Sua
operação é controlada
pelo
usuário
por
meio
e catalogar data sets, e t c .
de cartões de c o n t r o l e
J.C.L.
e por cartões de
c o n t r o l e d o p r ó p r i o utilitário. A s funções gerais de cada utilitário desta classe são:
— lEHPROGM
— c o n s t r u ç ã o e m a n u t e n ç ã o dos dados de c o n t r o l e do sistema.
— lEHMOVE
— c ó p i a ou m o v i m e n t a ç ã o de c o n j u n t o de dados.
-
lEHLIST
- listagem dos dados de c o n t r o l e d o sistema.
-
lEHINITT
- gravação de " L a b e l s S t a n d a r d s " e m volumes de fita magnética.
-
lEHIOSUP
•atualização
das
entradas
na
biblioteca
de
rotinas
não
residentes —
ou
"RESTORE"
SYS1.SVCLIB.
-
lEHDASDR
-
inicialização de v o l u m e s D A S D
de dados e m
— lEHATLAS
e emissão de " D U M P s "
DASD.
— assinalação de trilhas alternadas, para trilhas defeituosas.
— I F H S T A R T R — seleção,
que
formatação
coleta
e gravação de
informações
quanto
à
informações
utilização
relativas a erros na fita
dos
programa processado - I F A S M F D P o u S Y S 1 . M A N .
recursos
para
cada
20
Il -
DATA SET UTILI
Executam
e/ou
registro.
exceção do
UTILITIES
funções de reorganização, mudança ou c o m p a r a ç ã o de dados ao nível de
S ã o controlados
lEBISAM
também
por
cartões de controle
J.C.L.
e do
arquivo
próprio utilitário, c o m
que não tem cartões de controle próprios e usando p o r t a n t o apenas os cartões
de controle do J . C . L .
A s funções gerais de cada u m são:
— lEBCOPY
— c o p i a , condensa ou
determinados
intercala
membros
numa
data
sets particionados
( P . D . S . ) ; ou
operação de c ó p i a ; rebatiza e / o u
exclue
substitue
m e m b r o s de u m P . D . S .
— l E B G E N E R — copia registros de arquivos seqüenciais, ou converte u m arquivo seqüencial
em
P.D.S.
— l E B C O M P R — compara registros de arquivos seqüenciais ou P . D . S .
— l E B P T P C H r — imprime ou perfura registros de arquivos seqüenciais ou P . D . S .
— lEBTCRIN
— constroe
registros
a
partir
de
entrada
lida
em
2495
Tape
Cartridge
Reader.
— l E B U P D T E — atualiza uma biblioteca
— lEBISAM
—grava
dados de u m arquivo
reconstruindo
-lEBEDIT
o arquivo
— lEBDG
INDEPENDENT
São
indexado-seqüencial, num arquivo seqüencial;
indexado-seqiiencial
a partir do seqüencial criado.
- cria u m I n p u t S t r e a m .
— l E B U P D A T — atualiza uma biblioteca
Ill -
simbólica.
simbólica.
— c r i a u m arquivo amostra para ser usado em teste de programas.
UTILITIES
usados para
preparar
volumes
DASD
para uso posterior.
S ã o chamados independentes
porque são processados sem o sistema operacional O . S . e, por isso mesmo, sua operação é controlada
sem o uso de cartões de controle J . C . L . , utilizando apenas os cartões de controle do utilitário.
A s funções gerais são:
-
IBCDASDI
— inicializa e assinala trilha alternativa para v o l u m e
-
IBCDMPRS -
permite
fazer
"DUMP"
e " R E S T O R E " de
DASD.
dados
contidos
em
volume
DASD.
-
IBCRCVRP -
recupera registros aproveitáveis de trilhas defeituosas; assinala trilha alternada
e
intercala
registros
de
"substituição"
com
os
registros
recuperados,
gravando-os na trilha alternada.
-
ICAPRTBL -
permite
carregar o buffer d o Universal Character S e t ( U C S )
controle do formulário ( F C B ) da impressora I B M 3 2 1 1 .
e o buffer de
21
No
anexo I apresentamos uma tabela mostrando algumas aplicações mais usuais de utilitários,
em o r d e m crescente, e ao lado de cada aplicação o utilitário ou utilitários que as e x e c u t a m .
O f o r m a t o geral dos cartões de c o n t r o l e dos utilitários é o seguinte:
NOME
Nome
OPERAÇÃO
simbólico
e
0
l E H I N I T T .
C o m e ç a na c o l . 1 .
COMENTÁRIO
de
P a r â m e t r o s
Q p c > © na 1 .
S e
operação devendo ser
"KEYWORDS"
codificado
deve
ser
precedido
separados
precedido
de,
Identifica
o p c i o n a l , exceto para
OPERANDO
de,
pelo
o
tipo
e
seguido
menos,
um
por
menos,
vírgula.
um
pelo
branco.
branco.
2.2.3. - Programas do U s u á r i o
S ã o aqueles programas escritos pelos usuários e que t e m por finalidade executar
determinadas
tarefas específicas. Por e x : folha de pagamento, c o n t r o l e de estoque, cálculo de uma matriz, etc.
,- M A S T E R S C H E D U L E R
r
JOB
r- R E A D E R / I N T E R P R E T E R
MANAGEMENT
L J O B SCHEDULER
-
PROGRAMA
DE
-
- TASK
MANAGEMENT
L DATA
MANAGEMENT
INITIATOR/TERMINATOR
OUTPUT/WRITER
CONTROLE
r-
COMPILADORES
p
LINKAGE
EDITOR
PROGRAMA
-LOADER
DE
- PROGRAMAS DE S E R V I Ç O
-SORT/MERGE
PROCESSAMENTO
UTILITÁRIOS
L P R O G R A M A S DO U S U Á R I O
< Figura 13 — Organização do O . S .
22
Cada
programa
vez
que
de controle
o
programa
de
processamento
é gerada uma interrupção
estado de Supervisor d e t e r m i n a n d o
necessita
dos
serviços
de
uma
rotina
do
por meio de uma instrução S V C e a U . C . P . entra e m
qual a rotina necessária para processar o serviço requisitado
pelo
programa de processamento.
Para devolver o c o n t r o l e ao programa de processamento, o sistema usa a instrução
muda o estado da U C P , levando-a a estado
A
L P S W que
problema.
Figura 14 mostra u m esquema o n d e são representados os dois tipos de programas d o O . S . ,
suas subdivisões e a relação entre a m b o s .
P R O G R A M A DE PROCESS,\MENTO
P R O G R A M A DE CONTROLE
JOB
COMPILADORES
MANAGEMENT
Analisa
os
comandos
Algol
do
Assembler
operador
-
- Processa o input stream
Emite
as
mensagens
-
do
Cobol
FORTRAN
PL/I
programa de controle
R.P.G.
LPSW
.TASK
P R O G R A M A S DE S E R V I Ç O
MANAGEMENT
- Analisa
• Linkage E d i t o r
interrupções
- Supervisiona
as ações
do
Loader
Sort/Merge
sistema
- Determina
passado
onde
o
deve ser
controle
Utilitários
da
U.C.P.
. DATA
Aloca
MANAGEMENT
P R O G R A M A S DO U S U Á R I O
espaço de
- F o l h a de pagamento
memória
- C o n t r o l e de estoque
secundária
- C á l c u l o d e u m a matriz
• Programa os canais
-Etc.
L ê e i m p r i m e dados
Cataloga e aloca data sets.
Figura 14 — S i s t e m a Operacional / 360
23
3 - OPÇÕES DO P R O G R A M A
Quando
fundamentais
PROGRAM
o
usuário
de
DE
decide
instalar
de
um
controle.
sistema
O
em O . S . , ele pode
primeiro
deles,
o
optar
P.C.P. -
por
dois aspectos
PRIMARY
CONTROL
— , t e m por característica a m o n o p r o g r a m a ç ã o . O segundo se caracteriza por
proporcionar
multiprogramação
programa
CONTROLE
e por sua vez se constitui d e :
-
M. F. T. -
MULTIPROGRAMMING
WITH
A FIXED NUMBER
-
M. V . T. -
MULTIPROGRAMMING
WITH
A VARIABLE
OF TASKS
NUMBER
OF TASKS
3 . 1 . - P. C. P. (Primary Control Program)
É
uma
opção
que
oferece
exclusivamente para orientar
m u i t o possantes no m o m e n t o
já
estará familiarizado
dentro
do âmbito
com
uma
performance
muito
baixa
o usuário ao uso d o O . S . . É , p o r t a n t o ,
e por
isso utilizada quase que
r e c o m e n d a d o para sistemas não
da o p ç ã o , mas q u e virão a se-lo posteriormente.
a terminologia
Desta forma o usuário
e c o m a lógica do O . S . e os programas t a m b é m estarão
do O . S . e assim, no m o m e n t o
da expansão, as modificações a serem
introduzidas
não chegarão a afetar sobremodo o a n d a m e n t o d o trabalho.
A s características básicas d o P . C . P . são:
-
Monoprogramação
-
Processamento seqüencial obedecendo a o r d e m d o input stream
-
U s o da lógica d o O . S .
A área do sistema é dinâmica sendo utilizada para uma só task (ver Figura 15).
ASIA
ÜDeésr/
DIN ÂMIC A
Interpreter
Ndcleo
«u
t niíles *9r / T®r mi n o tor
eu
T'rograma
Figura 15 -
d«
apllcsfõs
S I S T E M A P. C . P.
3.2 — Multiprogramação
Chamamos
simultaneamente
na
multiprogramação
memória.
à execução c o n c o r r e n t e
de dois
ou
mais programas
residindo
24
STORAGE
impede
que
2 K (2048)
um
P R O T E C T I O N - é um
programa
de
uma
elemento
região
ou
de
partição
H a r d w a r e vital
invada
na
outra
multiprogramação
região
ou
partição.
pois
Cada
bytes de memória apresentam u m b y t e no qual os 4 bytes de mais baixa o r d e m indicam a
chave da região ou partição. S e m p r e que houver uma gravação na memória, a U . C . P . compara a chave
da
P.S.W.
com
a chave
da
região
ou
partição.
S e forem
iguais a gravação será executada, caso
contrário haverá uma interrupção ( P r o t e c t i o n E x c e p t i o n ) .
Com
usadas
pelo
4 bits p o d e m o s representar os números de 0 a 15. A s chaves de proteção de 1 a 15 são
JOB. A
chave
0 é usada pelo
programa
de c o n t r o l e .
Isto explica
porque
apenas
15
programas p o d e m residir na memória simultaneamente.
Vimos
acima que
podemos ter
dois tipos de multiprogramação:
um
com
número
fixo
de
tarefas — M . F . T . — e o u t r o c o m número variável — M . V . T . A diferença básica entre ambos diz respeito
à alocação da memória.
Em
M . F . T . a m e m ó r i a é alocada e m partições de t a m a n h o fixo estabelecido na G e r a ç ã o d o
Sistema, p o d e n d o ser alterado pelo operador no decorrer d o processamento.
Em
M . V . T . a memória é alocada em regiões de t a m a n h o determinado pelo próprio J O B .
Tanto
compondo
o
em
M.F.T.
input
stream
como
são
em M . V . T . a seleção dos J O B S
lidos,
a
partir
é prioritária por classes. O s J O B S
dos equipamentos de entrada, por
meio
da
rotina
R e a d e r / I n t e r p r e t e r d o J O B M A N A G E M E N T e são selecionados e m classes permanecendo em cada uma
delas ordenadas segundo sua prioridade.
Existem
SYS1.SYSJ0BQE,
15
classes
ou
filas
geralmente no S Y S R E S ,
de
entrada
que
residem
numa
biblioteca
chamada
as quais são representadas pelas letras A até O . N a s filas
de
entrada são enviados apenas os cartões de c o n t r o l e e os dados correspondentes vão para u m data
set
intermediário, t a m b é m e m disco, c h a m a d o I N P U T D A T A S E T . ( V e r Figura 16).
em
teidsf/iftterareler
1
t c
rirv
Figurais
-
Classes de E n t r a d a
in
25
A s s i m c o m o existem
saída
as classes o u
filas de entrada existem
também
as classes ou filas de
representadas pelas letras A a Z e pelos d í g i t o s 0 a 9.
A
finalidade
das
classes
de
saída
é
substituir
equipamentos
de
baixa
equipamentos de alta velocidade c o m o i n t u i t o de evitar " E S T R A N G U L A M E N T O S "
velocidade
por
na saída.
Imaginemos uma situação e m q u e várias Tasks estejam sendo processadas concorrentemente e
muitas delas necessitam de uma
dispositivo
necessitar
de saída lento
utilizar-se
requisitaram
da
impressora c o m o
equipamento
de saída.
P o r ser a impressora
um
(considerando a velocidade de processamento), as Tasks, à medida q u e vão
impressora, terão q u e aguardar que a mesma seja liberada por Tasks que a
anteriormente.
Isto
cria
um
verdadeiro
estrangulamento
na
saída
acarretando
uma
diminuição considerável na eficiência d o sistema.
Para evitar isto são c r i a d n j as classes de saída e a cada uma delas, em t e m p o de geração, é
feita a associação c o m
um
determinado
equipamento
de saída.
E n t ã o , a medida que as Tasks vão
sendo processadas, a u t o m a t i c a m e n t e vão sendo descarregadas nestas classes e d a í , segundo a prioridade
q u e tinham na entrada, são enviadas para equipamentos de saída requisitados.
Q u e m retira os dados das classes de saída e envia para os respectivos dispositivos de saída é
outra rotina do . J O B M A N A G E M E N T c h a m a d a O u t p u t W r i t e r (ver Figura 17)
•ISMNIM
EI
U M
Hat M C t t l l l U
6«L9BT ERTLOR
«IIIPAI
Figura 17
- Classes de S a í d a
E m b o r a existam as classes de S Y S O U T , é possível alocar u m determinado e q u i p a m e n t o de saída
exclusivamente para uma T a s k , através d o uso de c o m a n d o s d o J . C . L .
26
3.2.1 - M u l t i p r o g r a m m i n g
Witti a F i x e d N u m b e r of Tasks
C o n f o r m e vimos, a característica central do M . F . T . é a alocação da memória por partições o u
alocação por bloco f i x o .
O
número
respectivamente
alto
endereço
máximo
por
de
de partições e m que pode ser dividida
P0. P I , . . .
memória
a memória é 5 2 , representadas
P 5 1 , onde a partição P 0 é a de maior prioridade
(Figura 18).
O
número
e o
tamanho
das partições
e se situa no mais
á estabelecido
na
Geração do S i s t e m a p o d e n d o ser redefinido a qualquer m o m e n t o pelo operador.
ASEA
ÁKiA
n XA
»r
s
Tt
DINÁMICA
1PAD
n ç õ l
!
0»
04
ADÍA
COMTnOli
Figura 18 -
Disposição de M e m ó r i a e m M . F . T .
A s partições são independentes entre si e cada uma delas t e m a possibilidade de processar até
3 classes d o usuário ou uma Task d o sistema.
No
M . F . T . podemos ter até 15 Tasks do usuário e 39 Tasks d o sistema assim
3 READERS
e 36 O U T P U T
distribuídos:
WRITERS.
Cada J o b t e m sua prioridade
ou assumida por " d e f a u l t " ,
especificada pelo usuário através d o parâmetro P R T Y
do J . C . L .
E s t a prioridade somente é considerada para a seleção do J o b porque para
execução a prioridade é dada pela partição e m que o J o b vai ser executado.
No
caso e m que dois J o b s tenham a mesma classe e o usuário tenha a t r i b u í d o
a ambos a
mesma prioridade, o a t e n d i m e n t o obedecerá à ordem cronológica de leitura.
V i m o s p o r t a n t o que e m M . F . T . podemos ter 5 2 partições, cada uma das quais pode processar
até
3 classes
prioridade
do
usuário
é atribuída
ou
uma
Task d o
sistema.
Vimos
pelo usuário através do parâmetro
também
PRTY
que dentro
de cada classe a
que pode variar entre 0 e 13 sendo
13 a maior delas.
V e j a m o s , por meio de u m exemplo, c o m o se dá o processamento de J o b s em M . F . T .
Na
Figura 19 temos u m
cada u m a das quais c o m
esquema representando a memória
3 classes atribuídas
dinâmica dividida
e m partições
na geração ou pelo operador. E m baixo as classes da
S Y S 1 . S Y S J O B Q E c o n t e n d o os J o b s a serem processados.
27
PRISICIPU
í e ü o r i a
iUd
tufs
FISA
Difltnict
(PasiicoESi
FOE
Ps
Pi
ÍEISORIA
Pi
ABC
Ps
A U I J l l M
>STS1.SY8J9BI|Í
Figura 19 -
Distribuição das Classes nas Partições
28
Cada partição t e m , associado a ela, u m I N I T I A T O R , ao qual cabe selecionar os J o b s das classes
onde se e n c o n t r a m , alocando os recursos necessários à sua execução e após isto passar o c o n t r o l e ao
programa.
No
nosso e x e m p l o
o
INITIATOR
da partição
P0 "verifica"
que A é a primeira classe da
partição a ser processada. F e i t a esta verificação, procura dentro da classe o J O B de maior
(prioridade atribuída
via parâmetro P R T Y
ou prioridade
prioridade
c r o n o l ó g i c a ) , que é, digamos, o J O B 1 , para
ser executado. Q u a n d o o J O B 1 terminar será selecionado o segundo J O B (segundo e m prioridade)
classe A , no caso J O B 2 . Q u a n d o este t a m b é m terminar
ficará
vazia.
Nesse
momento
o
INITIATOR
da
será a vez d o J O B 3 e c o m isso a Classe A
da partição
P 0 passará a retirar
os J o b s
da classe B
levando-os para a partição P 0 , para q u e sejam executados usando o mesmo critério para os J o b s de
classe A .
Este processo será repetido por todos os J o b s de todas as classes, partição por partição.
Em
M.F.T.,
normalmente,
os
programas
do
tipo
I/O
BOUND
entrada e saída) são colocados nas partições de maior prioridade
( programas limitados
e os d o tipo C O M P U T E R
por
BOUND
(programas limitados por processamento) são colocados nas de menor prioridade. Isto para permitir às
partições de m e n o r prioridade
aproveitarem os tempos de espera dos programas limitados por entrada
e saída.
U m a característica importante do M . F . T . é a possibilidade de criação de pequenas partições
para executar
tamanho
pequenos J o b s .
varia
entre
INITIATOR
em
INITIATOR
não
SMALL",
por
8K
Estas
e o
partições são conhecidas c o m o S M A L L
tamanho
M.F.T.
pode
apresentar
cabe
nestas
partições
INITIATORS
do
INITIATOR,
dois
devendo
t a m a n h o s : 30 K
d e v e n d o , os J o b s ,
destas, e após a inicialização
ser
ou
serem
PARTITIONS
sempre
44 K ) . Isto
inicializados
múltiplas
quer
em
e o seu
de 2 . ( O
dizer
que
partições
serem devolvidos às respectivas
o
"NO
SMALL
PARTITIONS.
Outra
característica
sistema, a existência de
SUBTASKING
do
M.F.T.
diz
respeito
à
possibilidade
de especificar, na geração d o
"SUBTASKING".
é o f e n ô m e n o pelo qual uma T A S K
(chamada T A S K
mãe) cria outra T A S K
ou T A S K s (chamada T A S K filha) que concorrerá c o m a primeira pelos recursos da U . C . P .
A
SUBTASK
é criada via A T T A C H
a removida via macro D E T A C H e o n ú m e r o m á x i m o de
substasks que p o d e m ser criadas e m M . F . T . varia entre 196 e 2 4 3 .
R E S U M O D O M. F. T.
* M u l t i p r o g r a m a ç ã o c o m n ú m e r o f i x o de tarefas
* P r o g r a m a ç ã o por
prioridades
* N ú m e r o f i x o de partições (até u m m á x i m o de 52)
* A t é 15 Tasks d o usuário — chave de 1 a 15 —
* A t é 39 Tasks d o sistema (3 Readers e 36 Writers) - c h a v e ©
* Partições programadas independentemente
* Pequenas partições ( S M A L L
PARTITIONS)
29
* Possibilidade de redefinição das partições durante a operação
* A t é 3 classes por
partição
* Prioridades dentro de classes
* Subtask por
partição
3.2.2. - M . V . T . - M u l t i p r o g r a m m i n g W i t h a V a r i a b l e N u m b e r of Tasks
A
cujo
característica central d o M . V . T . é a alocação da memória d e f o r m a d i n â m i c a , e m regiões,
tamanho
é
especificado
pelo
próprio
JOB. A
memória
é
portanto
um
recurso
disputado
d i n a m i c a m e n t e pelas Tasks e m execução.
A
condição para q u e u m J o b seja alocado, é q u e o sistema disponha de memória
suficientemente
adjacente
grande para a necessidade d o J o b . S e isto não acontecer o J o b permanece e m estado
de espera até conseguir a área adjacente necessária.
A
alocação das regiões se faz
do
mais alto endereço de memória
para o
mais baixo
e a
disposição da memória é aquela mostrada na Figura 20.
AJB«A
» l « A « I C a
I B Ü O I O I J I
n Altea
outuo
aio
lOH
U N I
ÍAC K
A S I A
Figura 2 0 — Disposição da M e m ó r i a em M . V . T .
Em
classes
serão
8 classes.
M . V . T . q u a n d o é dado o S T A R T para o I N I T I A T O R , são especificadas diretamente
atendidas
Daí em
diante
pelo
o
mesmo,
sendo
que,
processo é similar
cada
INITIATOR,
pode ter
a o M . F . T . isto é : o I N I T I A T O R
prioritário de cada classe, alocando-lhe recursos, inicializando-o
quais
associadas a ele até
liga-se ao J o b mais
e esperando o mesmo terminar.
Então
verifica se aquela classe t e m outros J o b s para serem processados, caso não tenha, serão retirados J o b
da
segunda
classe associada
ao
mesmo
INITIATOR.
E
assim sucessivamente até esgotar
todas as
classes.
Diferentemente
seleção.
E m outras
do
M . F . T . , em
palavras: a prioridade
M.V.T.
a
prioridade
de
execução é a mesma daquela
estabelecida pelo usuário, através dos parâmetros P R T Y
D P R T Y , é utilizada para seleção d o J o b e execução da T A S K respectivamente.
de
E
30
Existe a possibilidade de alterar a prioridade de execução de u m J o b S t e p atravésda m a c r o
C H A P - Change Dispatching
P r i o r i t y - ou através d o parámetro
p o d e n d o desta f o r m a , atribuir a certos J o b S t e p s prioridade
ao
JOB.A
prioridade
DPRTY
no cartão E X E C
do
diferente daquela a t r i b u í d a
J.C.L.,
inicialmente
de execução varia d e 0 a 15 sendo 15 a maior e geralmente reservada para
Tasks d o sistema.
A
M.F.T.
DISPATCHING
está
PRIORITY
associado à
partição.
é u m valor através d o qual u m programa luta pela U . C . P . . E m
Em
M.V.T.
está associado ao número
fornecido
por
cartão
de
controle.
Em
M.V.T.
temos
também
a possibilidade
de
criar
SUBTASKS,
não
havendo
limitação
definida previamente q u a n t o ao n ú m e r o das mesmas, d e p e n d e n d o apenas dos recursos existentes.
Existem
muitas
opções d o M . V . T . , opções estas q u e c o n f e r e m a o M . V . T . u m a
performance
otimizada além de prestarem ajuda ao usuário que delas se utilizam.
Dentre
apresentaremos
todas
algumas
existem
três
que
nos
informações suficientes
para delas nos utilizarmos.
parecem
para
mais
importantes
e
é
destas
caracterizá-las e conhecê-las, mas,
três
que
insuficientes
Para isso terão q u e ser consultados manuais apropriados.
Trata-se das o p ç õ e s :
I -
I
-
II
-
III
-
TIME
SLICING
ROLLOUT/ROLLIN
T. S . O.
TIME SLICING e TIME-SLICE
GROUP
T i m e S l i c i n g é o t e m p o m á x i m o q u e u m programa pode ficar consecutivamente sob c o n t r o l e
da
U.C.P.
Este
tempo
é d e t e r m i n a d o na geração por meio da macro-instrução C T R L P R O G , mas pode
ser m o d i f i c a d o o u m e s m o cancelado e m t e m p o de inicialização d o sistema.
V e j a m o s através de u m exemplo c o m o funciona esta o p ç ã o :
CTRLPROG
Isto
quer
dizer
T Y P E = M V T , T M S L I C E = ( 9 , S L C - 2 1 0 , 5 , S L C - 480)
que:
2 "TIME-SLICE
prioridade 9 sofrerão " T I M E
SLICE"
este grupo
sofrerão
de T I M E - S L I C E ,
GROUPs"
foram
definidos.
Todos
os
Jobs
de
cada u m deles t e n d o direito a 210 milisegundos de U . C . P . A p ó s
"TIME
SLICE"
os J o b s
de prioridade 5 , cada u m deles c o m
direito a 4 8 0 milisegundos de U . C . P .
Quem
limita
o tempo
máximo
disponível
para cada T a s k do
grupo
de T I M E - S L I C E
é o
S U P E R V I S O R , que volta a devolver-lhe o controle somente após passar, seqüencialmente, por todas as
outras Tasks do grupo.
II
-
ROLLOUT /
É
adicional
ROLLIN
a capacidade que o
para u m
sistema
possue d e , sob certas condições, poder
certos J o b S t e p q u e dela necessite, rolando
conseguir
memória
para fora da memória u m o u t r o J o b
S t e p e utilizando a m e m ó r i a deste. O J o b S t e p rolado vai para u m " d a t a s e t " c h a m a d o S Y S 1 . R O L L O U T .
31
A s c o n d i ç õ e s são:
a) -
O J O B STEP
a ser rolado
deve
ocupar
uma
área c o n t i n u a
à do J O B S T E P
que vai
rolá-lo.
b) - O J O B S T E P
a ser rolado deve ter prioridade
m e n o r o u igual à d o J O B S T E P q u e vai
rolá-lo.
c) - O J O B S T E P que necessita de memória adicional deve ter a capacidade de poder rolar o
outro.
d) - O J O B S T E P que vai ceder sua área de memória deve ter a capacidade de ser rolado.
As
capacidades de rolar
e/ou ser rolado são fornecidas pelo parâmetro
ROLL
do J . C . L . ,
o
qual possui dois subparâmetros q u e indicam se o J o b S t e p pode ser rolado fora e se o J o b S t e p pode
rolar outros J o b S t e p s , nesta o r d e m .
O f o r m a t o do parâmetro em questão é :
ROLL
= (x,y)
onde:
X indica a possibilidade do J o b S t e p ser rolado fora. S e x for substituído por Y E S significa
que
o J o b S t e p pode ser rolado fora. S e x for substituído por N O o J o b S t e p não pode ser rolado.
y
indica a possibilidade do J o b S t e p rolar o u t r o J o b S t e p . S e y for substituído por Y E S , o
J o b S t e p pode rolar outro. S e y for substituído por N O , o J o b S t e p não podn rolar rrjtro.
O
parâmetro
ROLL
pode ser codificado
no
cartão J O B valendo para todos os J o b s
Steps
daquele J O B ou pode ser codificado apenas no cartão E X E C valendo p o r t a n t o apenas para aquele J o b
Step.
líl
-
T. O . S . Esta
TIME SHARING
OPTION
o p ç ã o acrescenta ao O . S . a possibilidade de c o m p a r t i l h a r
t e m p o conversacional no uso
de terminais remotos. Desta f o r m a , em breves períodos de t e m p o , cada terminal terá sua c o m u n i c a ç ã o
com
que
o sistema. Considerando que o terminal
o t e m p o de espera de cada terminal
é lento e m relação ao sistema e considerando t a m b é m
é c u r t o , a impressão que o usuário t e m é que seu terminal
está sempre e m c o m u n i c a ç ã o c o m o sistema.
A
principal
vantagem d o T . S . O . é sua simplicidade de utilização
e esta simplicidade decorre
de fatores tais c o m o :
— meio de c o m u n i c a ç ã o fácil de usar por tratar-se de u m teclado semelhante ao das máquinas
de
escrever convencionais. V i a teclado o usuário t e m acesso a todas as possibilidades q u e
teria no processamento por lotes ( b a t c h ) .
— o trabalho é definido no terminal
por meio de linguagem simples e natural. Os c o m a n d o s
de T i m e S h a r i n g são palavras e m inglês que descrevem a f u n ç ã o desejada.
— se a sintaxe
de algum
c o m a n d o ou
H E L P que a descrição é fornecida.
subcomando
for
esquecida, basta teclar
o comando
32
— teclando u m " ? "
o usuário recebe maiores detalhes sobre mensagens d o sistema q u e não
t e n h a m sido devidamente entendidas
Outras vantagens são:
— permite
o
uso
multiprogramação
— o
usuário
tem
simultâneo
por
número
bem
maior
de
usuários
do
que
usando
(batch)
controle
sobre
o
seu J O B constantemente,
Step
por
Step,
recebendo
resposta para cada ação e sendo notificado dos erros q u e o sistema d e t e t o u .
— o " t u r n a r o u n d — t i m e " á reduzido graças às informações imediatas.
R E S U M O D O M. V . T.
* Multiprogramação c o m número variável de tarefas.
* Programação por
prioridades.
* N ú m e r o de regiões limitado apenas pelo t a m a n h o da m e m ó r i a .
* A t é 15 programas d o usuário.
* R E A D E R S e W R I T E R S limitadas
apenas pela capacidade da memória
e / o u dispositivos
de
E/S.
* M e m ó r i a alocada d i n a m i c a m e n t e para cada etapa ou serviço.
* M u d j n ç a de prioridade
* A t é 8 classes por
dinâmica.
INITIATOR.
* ROLLOUT
/
ROLLIN.
* SUBTASK
por regiões.
* T i m e Slicing.
* T.S.O.
4 - CARACTERÍSTICAS
Neste
I'tem
D O O. S .
serão apresentadas, de forma
O . S . , m e s m o aquelas que já f o r a m
conceituai
apenas, as principais características d o
abordadas ou q u e o serão mais adiante. Isto porque a finalidade
deste i t e m é reunir as características d o O . S . de m o d o a dar u m a visão de c o n j u n t o d o mesmo bem
c o m o de sua potencialidade.
* A L I A S - são apelidos q u e p o d e m ser a t r i b u í d o s , até u m m á x i m o de 16, para cada data set
ou u m m e m b r o de u m data set.
* ALOCAÇÃO
DE " B U F F E R S " - o
Buffer
não está preso ao arquivo, podendo ser usado
por vários data sets, desde q u e dele se utilizem u m de cada vez.
33
* ARQUIVOS
" D U M M Y " — são arquivos que permitem testar rotinas sem que haja leitura ou
gravação física, ou melhor, a leitura e a gravação são simuladas.
*
BiríLIOTECAS
EM
NÚMERO
ILIMITADO - a
criação
de
um
número
ilimitado
de
bibliotecas se prende ao fato de as mesmas serem consideradas pelo sistema c o m o simples data sets
(arquivos).
* BPAM -
BASIC
PARTITIONAL
ACCESS
M E T H O D - é um método
de acesso de suporte
para trabalhar c o m data sets particionados.
* CATALOGAÇÃO
D E A R Q U I V O S - o sistema, m a n t é m no seu catálogo - S Y S C T L G -
, o
n o m e dos data sets associados ao v o l u m e e tipos de dispositivos. Para recuperar data sets catalogados
é suficiente fornecer o n o m e dos mesmos
* CHECK
POINT
tempo em tempo
RESTART-é
(DSNAME),
a capacidade d e , através da M a c r o " C h e c k P o i n t " , gravar de
u m arquivo e m imagem da situação atual d o programa, de m o d o q u e , e m caso de
acidente, seja possível recomeçar o programa a partir do ú l t i m o C h e c k P o i n t e não desde o início.
* COMPILADORES
P O D E R O S O S - compiladores q u e o f e r e c e m maior
e opções que resultam e m maior
* CONTROLE
DE
número de facilidades
rapidez.
ÁREAS
DE
MEMÓRIA
E
ROTINAS
CARREGADAS - é o
controle,
efetuado pelo sistema, das rotinas já carregadas para que possam ser usadas por qualquer programa na
memória, q u a n d o necessário.
*
DASD-DIRECT
MANAGEMENT
* D.C.B, contém
DEVICE
DATA
CONTROL
SPACE
retirando
dados
do
M A N A G E M E N T - são
e alocar espaço e m D A S D ,
B L O C K - é uma
informações a respeito d o arquivo. O O P E N
preenche-a
LABEL
ACCESS
cuja f u n ç ã o é procurar
parâmetro
tabela
rotinas
do
DATA
para arquivos, a u t o m a t i c a m e n t e .
dentro
do
programa
do
usuário
que
ao perceber que uma D C B não está preenchida,
D C B do
cartão
DD
e, q u a n d o
necessário, d o
próprio
(nesta ordem de prioridade)
* DESIGNAÇÃO
AUTOMÁTICA
DE UNIDADES
F Í S I C A S - a designação das unidades de
entrada e saída é feita a u t o m a t i c a m e n t e pelo sistema.
*DISP = SHR,
DISP = O L D -
DISP
é um
parâmetro
do
cartão
DD
que
descreve para
o
sistema o 'status' do data set e indica o que deve ser feito c o m ele após o término d o J o b S t e p que
o
processa o u após o término do J o b . S e atribuirmos
data
set pode ser c o m p a r t i l h a d o
o valor S H R ao parâmetro D I S P significa que o
simultaneamente por outros J o b s . A t r i b u i n d o o valor O L D , o data
set será usado somente por este J o b .
* ENQUE
ÁREA
E
DEQUE
DE
para associação ( E N Q U E )
•FILAS
otimizadamente
requisitado
bem
DE
RECURSOS
pelo O S
como
e m forma
qual
houver uma interrupção
catalogados
que
(RESOURCE
blocos
de
controle
e liberação ( D E Q U E )
Q U E U E ) - são os
na
SYSTEM
QUEUE
posterior.
recursos alocados automática
e
de filas ou classes e onde é especificado qual recurso está sendo
programa
o está
requisitando.
Estas
filas
são pesquisadas sempre
que
qualquer.
* G.D.G. - G E N E R A T I O N
sets
P R O I R A M A S - são
de recursos à T A S K
são gravados
D A T A G R O U P - é uma característica especial para designar
periodicamente.
geração, tendo u m número associado à mesma.
Cada
criação
do
data
set
é considerada
data
uma
34
* J O B E STEP LIMIT -
é uma característica utilizada para forçar o término de u m J O B ou de
u m J O B S T E P ao final de u m certo t e m p o . C o m isto é possível prevenir eventuais ' L o o p s ' de programas
*LINK
PACK
A R E A — é uma
porção
de memória
que
pode
ser utilizada para carregar as
rotinas mais freqiJentemente usadas durante o dia, e c o n o m i z a n d o t e m p o de processamento.
•M C S '
f
'^^'-T'PLE
• •
MASTER
CONSOLE
CONSOLE
existência de várias consoles O N - L I N E ,
SUPPORT
SYSTEM
-conjunto
de
rotinas
que
suportam
a
havendo inclusive a separação d e mensagens e c o m a n d o s para
cada console.
*MÉTODOS
D E A C E S S O — rotinas que realizam a parte de entrada e saída de responsabilidade
do usuário. N o O S . existem duas técnicas de acesso: Q U E U E D e B A S I C , cada uma das quais combinada
c o m a organização d o arquivo f o r m a o m é t o d o de acesso
* M S G C L A S S - é u m parâmetro q u e permite
separar as listagens dos cartões d e controle das
demais, dirigindo-as para determinada classe.
* MULTIPROCESSAMENTO - é
a
característica
pela
qual,
através
da
utilização
de
um
dispositivo de H a r d w a r e , dois c o m p u t a d o r e s , distintos entre si, c o m p a r t i l h a m suas memórias,
* MULTIPROGRAMAÇÃO
— é a característica pela qual é possível
executar c o n c o r r e n t e m e n t e
dors o u mais programas residindo simultaneamente na m e m ó r i a . E m O . S . , c o m exceção da o p ç ã o P . C . P . ,
é possível processar até 15 programas do usuário.
*MULTITASK-é
a característica que uma T A S K
t e m d e , através de u m M A C R O
ATTACH,
ser subdividida e m T A S K S menores e independentes, executadas e m uma mesma região o u partição
* P A S S W O R D — são palavras de segurança — senhas — usadas para proteger
Para funcionar
arquivos confidenciais,
esta proteção é preciso que haja u m arquivo seqüencial c h a m a d o P A S S W O R D , residente
no S Y S R E S , c o n t e n d o todas as senhas de arquivos confidenciais da instalação.
* P R I O R I D A D E - é a característica que permite
processar J o b s e m o r d e m diferente
daquela
que os mesmos t i n h a m no I n p u t S t r e a m ,
*PROCEDIMENTOS
realização
de
alguma
CATALOGADOS
função,
gravados
- são conjuntos de cartões de c o n t r o l e , necessários na
em
forma
de
membros
de
um
data
set
particionado
denominado S Y S 1 . P R 0 C L I B ,
*PROGRAMAÇÃO
um
programa
codificada
na
deve
ser
MODULAR
cindido
em
mais
própria,
linguagem
— é uma
várias
que
filosofia de programação
subrotinas
serão
fechadas, cada
reunidas
uma
posteriormente
que defende a idéia q u e
das quais
num
podendo
só programa
ser
pelo
Linkage E d i t o r .
'*PROGRAMAS
qualquer
R E L O C Á V E I S - são
programas
que
podem
ser
carregados
a
partir
de
endereço na memória principal, U m a vez carregado p o r é m , o programa ficará c o m endereços
fixos, devendo ser processado até o final nos mesmos.
•QUALIFICAÇÃO
simples
ligados
por
— é a característica que possibilita a atribuição
ponto,
formando
um
novo
nome
denominado
de dois o u
nome
mais nomes
qualificado.
Ex:
SYS1.PR0CLIB, DEPT.SECGRUPO.
•REGION —é
um
parâmetro
que
determina
alocação d o J O B . O espaço é dado e m K b y t e s ,
a quantidade
de
memória
necessária para a
31
• R E G I S T R O S S P A N N E D - são registros e m q u e o fator d e bloco é menor q u e 1 o u , e m outras
palavras, u m registro lógico é c o n s t i t u í d o
de mais de 1 bloco o u ainda, os registros lógicos são maiores
que os registros físicos,
• R E M O T E J O B E N T R Y - é uma característica que permite formar Input S t r e a m s e m terminais
remotos e executar J o b s
• R O L L O U T / R O L L I N - é a característica que o sistema possui d e , e m certas condições, poder
conseguir memória adicional para u m J o b q u e dela necessite, retirando provisoriamente u m o u t r o J o b da
memória e cedendo esta para o J o b que a necessite.
•S.M.F.-SYSTEM
MANAGEMENT
FACILITIES-é
um
sistema a u t o m á t i c o
de coleta
de
informações referentes à utilização dos recursos (dispositivos) para cada u m dos programas processados.
E x : utilização de U . C . P , , de m e m ó r i a , de canal, d e área e m disco, t e m p o de espera, etc. A s informações
são guardadas e m dois arquivos:
. SYS1.MANX-primário
SYS1.MANY -
alternativo
• " S P O O L " A U T O M Á T I C O C O M " R E A D E R S " E " W R I T E R S " - permite eliminar os pontos de
" e s t r a n g u l a m e n t o " d o sistema, quais sejam: a leitora de cartões ( R e a d e r ) e a impressora ( W r i t e r ) .
•TIME
SLICING-é
o t e m p o m á x i m o permitido a u m programa para ficar consecutivamente
sob o controle da U . C . P ,
• T I M E R — controle interno d o t e m p o d o sistema ao qual todas as T A S K S t e m acesso.
•T.S.O.-TIME
SHARING
OPTION - é
a
característica
que
possibilita
um
atendimento
seqüencial de terminais de telecomunicações, c o m t e m p o médio para cada u m .
• T Y P R U N = H O L D - é u m parâmetro do J . C . L . que p e r m i t e , ao J O B que o possui, ficar preso
na fila até ser liberado pelo operador o u por u m " r e l e a s e " a u t o m á t i c o
5 - CONCEITOS DE DATA
5.1 -
MANAGEMENT
F o r m a t o s de Registros
O O . S . pode suportar registros de f o r m a t o : F I X O , V A R I Á V E L
do
indefinido
ou
outros
dois
podem
e INDEFINIDO.
C o m exceção
ser blocados o u não blocados. A l é m disso o f o r m a t o variável
apresenta uma variação que é a spanned, t a m b é m blocada ou não. Considerando isto t u d o p o d e m o s
esquematizar os tipos d e f o r m a t o s de registros c o m o :
-
F
-
FIXO
-
FB
-
FIXO
-
V
-
-
VB
-
-
U
-
BLOCADO
VARIÁVEL
VARIÁVEL
INDEFINIDO
BLOCADO
3ê
- V S
-
VARIÁVEL
SPANNED
— VBS -
VARIÁVEL
BLOCADO
Com
SPANNED
relação ao b l o c a m e n t o ou não de registros devemos considerar o seguinte:
19) — B l o c a m e n t o é a reunião
lógicos n u m só bloco ou
registro
físico, contrariamente ao não blocamento onde cada registro lógico é o próprio
de dois o u
mais registros
registro
físico.
29)-Os
registros
físicos
são separados entre
si por
intervalos
B L O C K G A P ) , exceção feita ao equipamento U N I T
denominados
IBG
(INTER
RECORD.
39) — O registro físico é levado para a memória ( B u f f e r ) c o m o u m t o d o pelo P I O C S (Phisical
Input
Output
Control
System)
e lá é desblocado pelo
LIOCS
( L o g i c a l Input
Output
C o n t r o l S y s t e m ) para q u e cada registro lógico seja processado.
A
partir destes três itens podemos concluir
de processamento e maior
aproveitamento
que o blocamento proporciona
de memória
auxiliar.
maior velocidade
S e tivermos, por e x e m p l o , 5 registros
lógicos desblocados, e m disco, e quisermos processá-los, o P I O C S terá q u e transportá-los, u m de cada
vez,
para
a
velocidade
memória.
normal.
Com
S e , por
isso,
outro
por
5
vezes,
lado, os 5
o
disco
registros
tem
que
estiverem
desacelerar e depois
retomar
n u m só bloco, haverá apenas
desacelerada na qual o P I O C S levará o bloco t o d o para a memória deixando
ao L I O C S
a
uma
a tarefa de
desblocagem.
Desta f o r m a verificamos que o b l o c a m e n t o é mais eficiente q u a n t o à rapidez.
Q u a n t o ao a p r o v e i t a m e n t o
IBGs
de memória
auxiliar,
basta lembrar que o b l o c a m e n t o d i m i n u i os
e que cada I B G ocupa u m certo número de bytes — cerca de 4 8 0 bytes, variando bastante de
acordo com u m conjunto
de fatores — cada I B G eliminado
corresponde a u m certo número de bytes
economizados.
Como
vimos, o
blocamento
de registros
oferece duas vantagens que, e m processamento de
dados, são f u n d a m e n t a i s : t e m p o de processamento e espaço de memória auxiliar
Claro
importantes
Isto
está
que
na
criação
de
blocos
devem
ser
considerados
menores.
também
outros
entre os quais, a t í t u l o de lembrete, p o d e m o s incluir o t a m a n h o da memória
porque,
conforme
vimos,
o
bloco
é
carregado
inteiro
para
a
memória
e
fatores
principal.
um
bloco
demasiadamente grande pode criar certos problemas c o m relação a B u f f e r s , etc.
Com
situações
lógico
relação a desvantagens d o
normais,
for
elas
muito
não existem,
pequeno
desblocagem — o b l o c a m e n t o
economizar o t e m p o
blocamento
de
registros,
podemos
p o r é m , nos casos e m que o t e m p o
- menor
do
que
o
tempo
que
o
afirmar
q u e , dentro
do processamento
LIOCS
leva
para
do
de
registro
efetuar
a
é desvantajoso. Neste caso é preferível deixar os registros desblocados e
de desblocagem que no caso seria maior do que o t e m p o de processamento d o
registro.
Outra consideração a ser feita diz respeito à escolha de u m ou de o u t r o f o r m a t o de registros.
Esta escolha deve ser feita levando e m conta fatores tais c o m o :
— A natureza d o Data S e t
— O m é t o d o de acesso a ser utilizado
37
— O t i p o de entrada e saída d o programa
— Limitações do equipamento
— F a c i l i d a d e de programação
-
V e l o c i d a d e de transferência
- Etc.
DATA SET
A
BLOCO 2
BLoeo t
aie
lia i
I
• 1«
I
BLOCO S
mo r
lio ]
lio ]
Figura 2 1 — Organização de Dados
5.1.1 — Registros d e F o r m a t o F i x o
S ã o c h a m a d o s registros de f o r m a t o fixo aqueles registros em que o t a m a n h o não varia d e n t r o
d o data set,
P o d e m ser blocados ( F B ) ou não blocados ( F ) .
Os não blocados são aqueles e m que o registro f í s i c o c o n t é m apenas u m registro
Os
número
diferir
blocados são aqueles e m q u e o registro
de registros
no
lógicos contidos
ú l t i m o devido a u m
no
registro
físico
contém
mais de u m registro
f í s i c o é constante e m t o d o
eventual t r u n c a m e n t o
lógico.
lógico e o
o data set, p o d e n d o
resultante da insuficiência de registros
lógicos
para preencher o registro f í s i c o .
Cada registro
lógico pode conter, c o m o caracter inicial, u m caracter de c o n t r o l e para seleção
de escaninho ou c o n t r o l e de carro.
38
HOCO
1
1
F
LIT 1
II
1
•
1
I
• CL !
s
• IL
1
8
AII 4
a
1
KL
I
1
1(1 1
•
(
DADOS
BIOCO
fa-
LLE 1
»11
t
• IL
1
1
ITL
t
m
1
LEI 1
•
Figura 2 2 -
5.1.2 -
Registros de F o r m a t o F i x o
Registros de F o r m a t o V a r i á v e l
Neste caso tanto
o registro
lógico c o m o o registro físico p o d e m apresentar t a m a n h o variável.
A n t e s de cada registro lógico existe uma área de 4 bytes chamada
RDW-RECORD
D E S C R I P T O R W O R D — na qual os 2 primeiros b y t e s f o r n e c e m o t a m a n h o d e registro lógico, mais o
comprimento
d o R D W . O s restantes 2 bytes são utilizados apenas para os registros variáveis
SPANNED.
T e m o s t a m b é m uma área d e 4 bytes para cada registro f í s i c o , chamada B D W - B L O C K
D E S C R I P T O R W O R D - , o n d e os 2 primeiros bytes f o r n e c e m o t a m a n h o d o registro f í s i c o , mais o
t a m a n h o da B D W e os dois últimos são reservados para o sistema.
P o d e m o s ter registros de f o r m a t o variável blocado e não blocado c o n f o r m e u m registro
contenha mais de u m registro
Quando
limites
mínimo
forem
usados
e máximo
fi'sico
lógico ou apenas u m , respectivamente.
os
registros
de f o r m a t o variável, é preciso
informar
ao sistema
os
d o t a m a n h o d o registro. A l é m disso as áreas de entrada e saída b e m c o m o
os B u f f e r s d e v e m ter t a m a n h o suficiente para conter t a m b é m os R D W e os B D W .
Figura 2 3 — Registros de F o r m a t o Variável
39
5.1.2.1 — Registros de F o r m a t o V a r i á v e l S p a n n e d
Trata-se de uma variação d o f o r m a t o variável que permite
dispositivo
sua
ao se projetar
característica
é a de permitir
conseguido fracionando
ignorar certas restrições físicas de
o registro lógico. T a i s registros só p o d e m ser usados e m acesso seqüencial d
o registro
que o
registro
lógico
seja maior
que um
bloco
físico.
Isto
é
lógico em partes chamadas S E G M E N T O S que o c u p a m mais de u m
bloco.
O
por
cujos
registro
físico
sua vez, c o n t é m
primeiros
CONTROL
2 bytes
CODE
contém
uma
o c a m p o R D W o c u p a n d o seus 4 primeiros
área de 4 bytes chamada S D W - S E G M E N T
è dado
o
tamanho
do
segmento.
O
terceiro
q u e especifica a posição relativa d o S E G M E N T O
b y t e s . Cada segmento,
DESCRIPTOR
byte
contém
e o quarto
WORD-em
o
SEGMENT
b y t e é de uso d o
sistema
Os
registros
blocado — V S — o
variáveis S P A N N E D
registro
físicos é
também
composto
p o d e m ser blocados ou não blocados. S e não
de
um
blocado — V B S — o primeiro segmento de u m registro
segmento
mais
os
RDW
lógico poderá estar c o n t i d o
e
SDW. Se
no mesmo
for
for
registro
físico q u e o ú l t i m o segmento do registro lógico precedente.
BIOCO
BD«
tíUat
Î
RT|
rat 1
MBMBlt
ra|. 2
flí Î
rai J
I><>AN U f a
L
I M U M S a TINA
oaoos
Figura 24 -
5.1.3 — Registros de F o r m a t o
São
é
tratado
Registros de F o r m a t o Variável " S P A N N E D "
Indefinido
registros q u e não se e n q u a d r a m no f o r m a t o F i x o n e m no f o r m a t o V a r i á v e l . Cada bloco
como
registro
e, conseqüentemente, o b l o c a m e n t o e o desblocamento são efetuados
pelo
programa d o usuário não havendo verificação de t a m a n h o por parte do sistema.
U m registro desse tipo pode conter, c o m o primeiro b y t e , u m caracter de c o n t r o l e , mas não conterá
nem R D W nem B D W a serem controlados pelo sistema.
40
^
Figura 2 5 — Registros de F o r m a t o I n d e f i n i d o
5.2 - Organização de Data Sets
U m data set deve ser c o n s t i t u i d o de registros organizados logicamente para q u e seja possível sua
recuperação eficiente para processamento.
P o r organização de u m data set entendemos a maneira c o m o os registros estão agrupados d e n t r o
deste data set.
E x i s t e m quatro maneiras de organizar os registros dentro de u m data set, c o n f o r m e veremos mais
adiante, e a escolha de uma ou outra deve ser efetuada considerando as seguintes características de u m data
set:
* V O L A T I L I D A D E - é a característica de u m data set que se refere à adição e subtração de
registros no data set. U m data set que apresenta baixo índice de adições e subtrações é c h a m a d o de estático.
C o n t r a r i a m e n t e , o data set que apresenta u m alto índice de adições e subtrações é c h a m a d o de volátil.
* ATIVIDADE -
Refere-se
à percentagem d e registros d o data set a serem processados. U m
data set que apresenta uma percentagem de registros a serem processados baixo á u m data set p o u c o
ativo e neste caso a sua organização deveria ser tal q u e os registros fossem localizados diretamente. J á
no caso de u m data set m u i t o ativo, a quase totalidade d e seus registros é processada e p o r t a n t o uma
organização q u e permitisse
localizá-los seqüencialmente seria satisfatória. É preciso considerar
como
atividade
é
distribuída
esta
de
forma
a
permitir
que
os
registros
mais
também
freqüentemente
processados sejam localizados mais rapidamente q u e os demais.
* TAMANHO for
extremamente
É o u t r o fator a ser considerado na organização de u m data set. S e o data set
pequeno, o tipo de organização d o mesmo p o u c o importará. P o r o u t r o lado o data
set pode ser tão grande que os registros que o c o m p õ e não possam estar disponíveis para o sistema
ao
mesmo
tempo.
Além
disso,
ao
organizar
um
data
set,
é preciso
ter
em
mente
crescimento potencial d o m e s m o para evitar d e , após u m certo t e m p o , ter de reorganizá-lo.
também
o
41
* SUPORTE — É
suporte
importante
conhecer
as características dos dispositivos
que vão servir
de
ao data set. Isto para evitar de organizar o data set de uma certa forma que esteja fora das
possibilidades de trabalho do dispositivo. E x e m p l i f i c a n d o , de nada adiantaria organizar u m data
set de
f o r m a direta o u seqüencial indexada se o suporte d o m e s m o for u m dispositivo de fita magnética.
V e j a m o s agora quais são os quatro tipos de organização de data sets:
5.2.1 - Organização S e q ü e n c i a l
É
a organização
mais simples de todas
onde
os registros
estão numa seqüência física, u m
após o o u t r o , e m vez de estarem numa seqüência lógica. Neste tipo de organização os registros são
usualmente
individuais
lidos
ou
atualizados
é relativamente
na
mesma
ordem
em
que aparecem e a localização de
registros
lenta, porque, n o r m a l m e n t e , n e n h u m registro é localizado sem antes passar
por todos os registros precedentes no data set,
Esta
que
organização é usada geralmente
Para
deletar
ou
adicionar
update — atualização de u m
registro
disco, é possível, devido à forma
sem
quando
a maioria dos registros é processada cada vez
o data set é utilizado (data set m u i t o a t i v o ) .
registros
em
o
cima
data
set
inteiro
de sua própria
deve
ser
recriado.
No
caso
de
localização — se o data set reside e m
c o m o os registros são armazenados, efetuar este tipo de atualização
necessidade de recriar o data set.
A
seqüencial
U — podendo
é
estar contida
uma
organização
que
e m fita magnética,
suporta
DASD,
registros
em
qualquer
fita de papel e dispositivos
formato — F,
UNIT
V,
RECORD
c o m o por exemplo cartão. Q u a n t o aos métodos de acesso, ela utiliza Q S A M O U B S A M .
R E S U M O — A organização seqüencial:
I — T e m seus registros colocados u m após o o u t r o numa seqüência física.
II — F a z c o m que deleções ou adições de registros impliquem
numa recriação d o data
set.
I I I - S u p o r t a formatos de registros; F , F B , V , V B , V S , U B S , U .
I V — Usa métodos de acesso: Q S A M o u
BSAM.
V — Pode estar contida e m qualquer t i p o de dispositivo.
5.2.2 — Organização S e q ü e n c i a l Indexada
Neste
direto,
tipo de organização o data
e portanto
rápido,
a registros
set é seqüencial, possuindo
individuais.
desde o início ou então a partir de u m certo
Além
disso
pode
índices q u e permitem
acesso
ser processado seqüencialmente,
registro.
D e v i d o a esta característica que permite
acesso direto a registros
desejados, a organização
seqüencial indexada somente é possível e m D A S D .
Para criar
em
u m data set c o m esta organização, os registros d e v e m ser previamente
ordenados
seqüência ascendente de chave. C h a v e é uma parte d o próprio registro que serve c o m o e l e m e n t o
identificador do mesmo, diferenciando-o dos demais registros d o data set.
42
U m data set seqüencial indexado possui três áreas; área primária, área de índices e área de
overflow.
5,2.2.1 — Área Primária
Esta area c o n t é m as informações de interesse d o usuário ou seja, ela c o n t é m os registros de
criação ou reorganização d o data set,
E m b o r a seja possível, graças ao C S . , à área primária
ocupar várias áreas não c o n t í n u a s e e m
mais de um v o l u m e , todos os registros estarão em ordem ascendente de chave,
O s registros podem ser blocados ou não blocados S e f o r e m blocados o sistema grava precedente
a o b l o c o , a maior chave de registros c o n t i d o no bloco
N ã o é permitido trabalhar c o m registros
indefinidos
5.2.2.2 - Á r e a de Indices
E x i s t e m três diferentes níveis de índices criados pelo sistema operacional quando o data set é
criado ou reorganizado,
I -
Í N D I C E D E T R I L H A - è o índice de mais baixo nível e necessariamente presente n o data
set
Suas entradas a p o n t a m
primária
para o
for
para
os registros de dados
S e m p r e que uma trilha da área
completada, uma entrada é criada n o índice d e trilha, e esta entrada aponta
registro
de chave mais alta, p o r t a n t o o Ultimo, daquela trilha. E n t ã o , para cada
cilindro utilizado na área primária temos um índice de trilha contendo entradas para cada
trilha d o cilindro a q u e se refere
Este índice de trilha ocupa sempre a primeira trilha do cilindro,
Cada
índice
COCR - C Y L I N D E R
de
trilha
pode
conter
um
registro
inicial
especial
conhecido
como
O V E R F L O W C O N T R O L R E C O R D - q u e o sistema utiliza para guardar trilha de
endereço d o ú l t i m o registro de overflow no cilindro
O restante do índice de trilha é c o n s t i t u í d o
por
entradas normais e de overflow alternadas,
A
entrada normal
c o n t é m o endereço da trilha primária
e a chave d o registro
mais alto da
trilha.
A entrada de overflow t e m o mesmo mecanismo da normal referindo-se a área de overflow. Esta
entrada sofre modificações toda
vez q u e registros f o r e m acrescentados ao arquivo. Q u a n d o a área de
overflow estiver vazia a entrada de overflow terá o mesmo c o n t e ú d o da área normal.
A última entrada de cada índice de trilhas é uma entrada " D U M M Y " q u e representa o f i m d o
índice de trilha. S e após o ú l t i m o 1'ndice (que é D U M M Y ) houver espaço, este será ocupado por registros
da área primária.
O f o r m a t o das entradas de í n d i c e , que;' seja entrada n o r m a l , de overflow ou ' D U M M Y " , é o
mesmo e se trata de u m registro de c o m p r i m e n t o
f i x o . não blocado e que c o n t é m área de contagem,
área de chave e área de d a d o s
A
área de chave c o n t é m a chave d o registro
para o qual a entrada aponta, e x c e t o entradas
" D U M M Y " . O c o m p r i m e n t o desta área é especificada pelo usuário.
43
A área de dados é sempre composta de dez b y t e s e c o n t é m o endereço c o m p l e t o da trilha ou
registro para o qual o indice aponta, além de outras informações
II -
Í N D I C E D E C I L I N D R O - este í n d i c e , que é de nível mais a l t o q u e o d e trilha, será gerado
a u t o m a t i c a m e n t e caso o data set ocupe mais de u m cilindro, Para cada índice de trilha
criado, o
sistema gera
uma entrada
no
índice de cilindro. Cada entrada no índice d e
cilindro a p o n t a , através de seu c a m p o de d a d o s , para o endereço da trilha q u e c o n t é m o
índice de trilha
A l é m disso a área de chave da entrada c o n t é m a chave d o registro mais
a l t o d o cilindro
Neste í n d i c e t a m b é m a última entrada é uma entrada " ' D U M M Y " que indica f i m d o índice.
III -
Í N D I C E M E S T R E - é o nfvel mais alto de ?'ndice e é o p c i o n a l , isto é , pode ser requisitado
pelo usuário através d e c o m a n d o de controle d o J C L
É usado q u a n d o o data set for
m u i t o grande e conseqüentemente o índice de cilindro t a m b é m , ocasionando uma pesquisa
m u i t o demorada
É conveniente criar um índice mestre sempre que o índice de cilindro
ultrapassar q u a t r o trilhas. O índice mestre aponta para a chave do registro mais a l t o de
cada trilha no índice de cilindro
O
O S . permite
até três níveis d e índice mestre, se assim for
especificado n o cartão D D d o
J . C , L, Consideremos o seguinte e x e m p l o ;
//MESTRE
DD
.
. , D C B = ( O P T C D = M , N T M = 4 , . . .)
O P T C D =IV1 indica q u e a criação de índice mestre está sendo requisitada.
N T M = n é usado para especificar o número de trilhas de " í n d i c e de c i l i n d r o '
para o qual será
criada uma entrada no índice mestre e , ao mesmo t e m p o indica após quantas trilhas
de índice mestre deve ser criado u m outro nívei de índice mestre.
S e substituirmos n por 4 queremos dizer q u e , cada 4 trilhas de índice de cilindro que
f o r e m criadas, será criada uma entrada no índice mestre. A l é m disso se o número d e
trilhas de c i l i n d r o for t ã o grande que acarrete um índice mestre superior a 4 trilhas,
será criada uma entrada no índice mestre de segundo nfvel a cada 4 trilhas criadas d e
índice
mestre de
primeiro
nível.
E assim podemos
criar
até três níveis de
índice
mestre.
5.2,2,3 - Á r e a d e O v e r f l o w
A
área d e overflow é especificada, n u m data set seqüencial, para permitir a inclusão de registro
sem necessidade de recriar imediatamente o data set
É claro que após u m certo número de inclusões, a área d e overflow fica saturada e a localização
de
registros se torna e x t r e m a m e n t e c o m p l e x a e demorada a p o n t o de justificar uma reorganização d o
data set, P o r isso, dissemos que não é necessário recriar o data set imediatamente, porque a recriação
não
é devida à inclusão e m si, c o m o no caso de uma organização seqüencial, mas sim ao n ú m e r o d e
inclusões q u e podem d i m i n u i r a performance d o sistema.
Na c r i a ç f o de um data set seqüencial indexado a área de o v e r f l o w não é utilizada, c o m e ç a n d o a
sê-lo â medida que no data set f o r e m sendo incluídos registros novos
44
INDICE
SIS
INDICE
DE
132
241
348
480
SIS
i«t>llki
528
5S9
632
§41
920
1006
1182
1290
1398
1437
1691
1842
1930
1997
2030
2100
2280
2360
2680
2723
l«lrllka
c
I
u
« e a
• •'ml
eiHiim
0
iiiitlitt I m
98
86
132
13
47
¡lit
107
m
62
88
iiii
121
iiiii
132
•ISI
-
2110
AIISDII
•XI iilaifli
erog tt
Figura 26
M
132
«lit
«•Il
f«ltllki
1437
• iirlltn
l i l l n M trilti.
1« IRLUI
m
I i* u n i I
1030
ilîi
CILINDRO
1« I r l l l i a
4''ltllli
MílTRE
iiirllii
Organização d o A r q u i v o S e q ü e n c i a l I n d e x a d o
\
« I I I I I M
ti
45
P o d e m o s ter dois tipos de área de o v e r f l o w : de c i l i n d r o e independente.
I -
ÁREA
DE O V E R F L O W
o n d e está situada a área primária.
D E C I L I N D R O - á a área de o v e r f l o w situada n o mesmo cilindro
Neste caso u m certo
número
de trilhas inteiras, especificado
pelo
usuário, é reservado e m cada cilindro onde haja área primária.
A vantagem da área de o v e r f l o w de cilindro está no fato de não haver necessidade de uma busca
adicional no mecanismo de acesso para localizar u m determinado registro de overflow.
A
desvantagem
desigualmente
á
o
espaço
eventualmente
não
usado
se
as
adições
por t o d o o arquivo. C o m isto haverá certas áreas de o v e r f l o w
forem
distribuídas
de cilindro saturadas e
outras quase vazias.
I
.
I
I
I
I
^lf«5ICE DE
^AHEA
TRILHA
PRIMARIA
^ÄREA DE OVERFLOW OE
CILINDRO
Figura 27 — Área de O v e r f l o w de C i l i n d r o
I I - Á R E A
número
de
cilindros
DE
OVERFLOW
reservados
INDEPENDENTE - é
unicamente
para
isto
a área de o v e r f l o w
independentemente
da
situada
num
localização
certo
da
área
primária.
Esta área t a m b é m
tem seu t a m a n h o e localização especificados pelo usuário d e v e n d o , p o r é m ,
residir no mesmo tipo de D A S D da área primária da qual faz parte.
A
vantagem da área de o v e r f l o w
independente é que quantidade menor d e espaço precisa ser
reservada para o v e r f l o w .
A desvantagem é a necessidade de busca adicional para a localização dos registros de o v e r f l o w .
46
Cil.
•
Cií. t
Cil.
i
Cit. î
Cil. t
^INO»CE OE TRILHA
AREA
INDEPENDENTE
DE
OVERFLOW
^AREA PRIMARIA
Figura 28 - Á r e a de O v e r f l o w
Normalmente,
Independente
é conveniente q u e sejam reservados o s dois tipos de áreas de o v e r f l o w : a d e
cilindro e á independente, Desta forma podemos reservar áreas de overflow de cilindro considerando a
média
de registros d e overflows, sem levar e m conta a desigualdade de distribuição
de c i l i n d r o para
cilindro. A área de overflow independente seria utilizada por aqueles registros de overflow cujas áreas de
overflow de cilindro já estivessem preenchidas.
A organização seqüencial indexada suporta registros nos formatos F e V e utiliza os métodos de
acesso Q I S A M e B I S A M .
O Q I S A M permite incluir registros no f i m da área primária ainda não utilizada, mas não permite
gravar registros
na área de o v e r f l o w .
Estes registros d e v e m ser classificados em o r d e m ascendente de
chave e devem ter chave maior que o ú l t i m o registro gravado,
O B I S A M por sua vez permite adicionar registros, de chave maior que a maior já existente, no
final d o
data
set, desde, p o r é m , que
seja na última trilha — parcialmente ocupada — o u na área de
overflow.
P e r m i t e t a m b é m intercalar registros na posição correta de chave, deslocando os demais registros
na trilha. Caso
o último registro
da trilha não caiba na mesma, ele será transferido
para a área de
overflow.
Podemos
então
concluir
dizendo
que, o
método
seqüencial indexado e o B I S A M é usado para atualizar.
QISAM
é usado para criar
um data
set
47
»00
1
trlllis 1
Irllh»
200
1
•
Irlllii
tiMlig
;
200
»
10
20
150
175
Irilhs 2
;
l l l l M
lillüa
100
Irllbs O
1
Indica úi trilha
'
100
40
100
200
3
area ds ovsrllow
ÃOICIOI<iAHDO
•
trilha
0
trlltia
1
40
R[G3. 2S s 101
IFIIM
,
1
'
100
(rlllli
;
^
200
2
2S
20
10
Irlllii
190
'
Irllhi
;
3
Índice do trllhi
40
)sriii prims
trllhs
130
101
2
'
100
^
lillki
200
•
flOíCtON&ftOQ R[08.
trilha
0
^«
;
,
180
179
28
100
Msa áe ivsrflew
2
í
1
1
1
ie»
IrlIDí
3
180
20
10
.
l i l i l í
200
g
29
,
Indies do Irlltia
26
arss prima
Irllhs
101
2
«ao
OBS
100
A ripr
•
t
^
s u s prima
lilllii
111111
IHIlia
Irllhs 3
200
,
190
179
2
*o
csmpisand* dados
i
3
•„„„„
,
Indico
d<
iniiii
'«»
3
2 aras do ovtrllo»
trilhai
Figura 29 — A d i ç ã o de Registros e m u m Data S e t Seqüencial
Indexado
48
R E S U M O : - A organização srajüencial indexada:
I -
Permite
acesso
direto
a
registros
desejados
e
permite
processar
o
data
set
seqüencialmente desde o inicio o u a partir de um determinado registro.
II — P e r m i t e a inserção d e registros sem necessidade d e recriação d o data set.
III - S u p o r t a formatos de registros F , F B , V , V B .
IV -
Usa métodos de acesso Q I S A M - para criação - e B I S A M - para atualização r a n d o m i c a ,
V — P o d e estar contido apenas e m dispositivos de acesso direto
5.2.3 — Organização Direta
Esta organização é possível somente e m dispositivos d e acesso direto. Nela estão relacionados
chave e endereço d o registro. Esta relação é estabelecida pelo usuário,
A organização direta é usada para data sets cujas características não permitem o uso de o u t r o
t i p o de organização ou então para data sets onde o t e m p o requerido para localizar registros individuais
deve ser o menor possível. É uma organização flexível c o m a única desvantagem de requerer uma
programação mais complexa.
Nesta organização existem dois tipos de e n d e r e ç a m e n t o : o d i r e t o e o indireto.
5.2.3.1 — E n d e r e ç a m e n t o D i r e t o
E s t e tipo d e endereçamento permite que cada chave converta para u m único e n d e r e ç o . Desta
f o r m a a localização d e um registro é possível c o m u m seek e uma leitura
Para que
de c o m p r i m e n t o
divide-se a chave
o resto mais 1 é
uma parte d e u m
seja
fixo
pelo
igual
data
possível utilizar a chave de um registro c o m o seu e n d e r e ç o , os registros devem ser
e as chaves d e v e m ser numeradas, O cálculo necessário para isto é o seguinte:
número de registros por trilha; o quociente é igual a o endereço relativo da trilha e
ao número de registro. V e j a m o s um exemplo a partir da Figura 30 q u e representa
set c o m as características acima descritas.
Utilizando esta figura verifiquemos a localização das chaves; 6 - 1 9 - 32 e 4 4
REGISTRO
R0
RI
R6
R7
6
7
13
14
15
20
21
22
28
29
30
31
36
37
38
39
44
45
R2
R3
R4
2
3
4
11
12
18
19
26
27
R5
TRILHA
T0
0
1
Tl
8
9
T2
16
17
T3
24
T4
32
T5
40
33
34
42
43
Figura 30 — Organização de u m Data S e t c o m E n d e r e ç a m e n t o Direto
47
49
P r i m e i r a m e n t e temos de conhecer o número de registros por trilha d o nosso data set. N o caso
d o e x e m p l o t e m o s 8 registros por trilha. P o r t a n t o vejamos a localização das chaves propostas.
6
chave G
onde 0 é o endereço relativo da trilha e 6 + 1 = 7
LA
6
é o número de registro,
concluindo — a chave 6 é o 7 ° registro da trilha 0
chave 19
19
|
3
chave 3 2
a chave 19 portanto é o 49 registro da trilha 2
2
32
a chave 3 2 é o p r i m e i r o registro da trilha 4
|_8_
O
chave 4 4
8_
4
a chave 44 é o 59 registro da trilha 5
44
4
O
endereçamento direto permite
um processamento r a n d ô m i c o c o m um m í n i m o de gasto de
t e m p o de dispositivo e é ideal para processamento seqüencial pelo f a t o de os registros serem escritos em
seqüência de chave
Por
o u t r o lado este t i p o d e e n d e r e ç a m e n t o é aconselhável somente q u a n d o a porcentagem de
endereços não
usados for
baixa, caso contrário
teremos uma q u a n t i d a d e m u i t o grande de áreas n ã o
utilizadas.
5.2.3.2 — E n d e r e ç a m e n t o Indireto
É utilizado principalmente
nos casos de data sets q u e apresentam registros cujas chaves incluem
uma porcentagem de endereços tão alta q u e torna impraticável o uso do t i p o direto de endereçamento.
Por e x e m p l o : se tivermos 3000 registros compreendidos entre as chaves 0 0 0 1 e 9999 — a mais baixa e a
mais
alta
respectivamente — não
podemos
usar
o
endereçamento direto
porque
assim
procedendo
estaremos perdendo 6999 endereços, já q u e reservamos 9999 para utilizar somente os 3000.
U m o u t r o f a t o q u e leva à utilização d o e n d e r e ç a m e n t o indireto é a utilização de registros cujas
chaves, por motivos vários, não p o d e m ser numéricas.
No
endereçamento indireto n ã o existe relação entre chave e endereço, ou melhor, a relação
existe mas não ô imediata, depende d o cálculo de um algoritmo pré estabelecido. É evidente q u e para
localizar
u m registro d o data set é preciso utilizar o mesmo algoritmo utilizado para a gravação d o
referido registro.
A
esta técnica de utilização de algoritmos de cálculo para determinação de endereço c h a m a m o s
R A N DOMIZ A Ç Ã O .
A
randomização
permite
diminuir
os intervalos
de variação das chaves mas apresenta dois
incovenientes: o p r i m e i r o diz respeito ao n ú m e r o de endereços não utilizados.
de,
ao calcular
os algoritmos,
consequentemente
nenhum
dos resultados
estes permanecem inutilizados.
Isto se explica pelo f a t o
pode convergir e m determinados endereços e
O segundo incoveniente diz respeito à presença de
50
sinônimos, isto é : chaves q u e randomizam
no m e s m o endereço o u , e m outras palavras, dois o u mais
registros cujas chaves, após o cálculo d o algoritmo, convergem para o mesmo endereço. Neste caso, o
próprio sistema se encarrega de resolver o problema a u t o m a t i c a m e n t e , sem transtornos para o usuário.
P o r é m , é preciso considerar q u e sempre há o incoveniente do t e m p o gasto para resolver o endereço final
do sinônimo o u sinônimos,
A t í t u l o de ilustração vejamos u m exemplo de u m tipo de randomízaçao possível.
Localizar o registro de chave 25.463.514
n u m data set c o m 10.000 registros distribuídos
em
12 registros por trilha.
a) -
o primeiro passo é descobrir o n ú m e r o primo imediatamente inferior a 10.000 que é 9 9 7 3 .
b) — dividir a chave d o registro pelo número
25.463=514
-
-
-
|
-
primo.
9,973
2.553
2445
Assim procedendo obtemos um resto que n o s fornece a localização relativa d o registro n o data
set. Neste caso o registro de chave 25.463.514 é o 24469 registro do data set.
c) — dividir o resto da divisão d o ftem b pelo número de registros por trilha.
2445
[
12
203
O n d e 2 0 3 é a trilha relativa onde se encontra
o registro e 9 é a posição relativa d o
registro
dentro da trilha.
d) — p o r t a n t o ,
usando este t i p o de randomização
o registro de chave 25.463.513 é o
24469
registro do data set e , mais precisamente, é o 109 registro da 204? trilha.
O B S , — não esquecer q u e o
primeiro registro
é o
R 0 e a primeira
trilha é a T 0 d a í ser o
109 registro da 204? trilha e não o 99 registro da 2 0 3 ? trilha.
Evidentemente
possibilitam
existem
vários
algoritmos
de
cálculo,
ou
técnicas
de
randomização,
que
o endereçamento indireto e m data sets organizados diretamente, A l g u n s mais simples, outros
mais c o m p l e x o s , mas todos válidos. O melhor, o mais eficiente, será, sem dúvida, aquele q u e , por
força
da própria regra de f o r m a ç ã o , acarretar o menor n ú m e r o possível de endereços não utilizados bem c o m o
o menor n ú m e r o possível de sinônimos.
R E S U M O : - A organização direta
I — P e r m i t e acessar rapidamente registros particulares não sendo eficiente para processamento
seqüencial.
II — Permite a inserção, a eliminação e a atualização d e registros sem necessidade de recriação
d o data set.
SI
III - Suporta formatos: F , F B , V , V B , U
I V - Usa métodos de acesso: B S A M
-
para criação -
e BDAM -
para pesquisa e atualização
randômica,
V — P o d e estar contida apenas e m dispositivos de acesso direto
5.2,4 - Organização Particionada
Esta organização reúne características de seqüencial e seqüencial indexada, sendo possível sua
utilização somente e m dispositivos de acesso d i r e t o
Um
data
set particionado
(RD.S.)
é um
conjunto
de data sets independentes, organizados
seqüencialmente, chamados membros e q u e são reconhecidos individualmente, para serem processados.
Os
registros
dentro
dos membros
são organizados
seqüencialmente e são recuperados ou guardados
sucessivamente de acordo c o m a seqüência física.
É u m t i p o de organização utilizado principalmente para armazenar dados seqüenciais tais c o m o :
programas, subrotinas e tabelas
Os nomes dos m e m b r o s , ordenados em seqüência ascendente, bem c o m o o endereço iniciai de
cada um constitui uma tabela chamada D I R E T Ó R I O
e situada nas posições iniciais d o P . D . S .
O diretório é f o r m a d o por blocos de 256 b y t e s cada, c o n t e n d o a entrada para os membros.
Cada
seguido
por
entrada
um
é formada
'APONTADOR",
por
um
com
'NOME
DE M E M B R O " ,
3 b y t e s , que aponta
ocupando
os primeiros
para o primeiro registro
do
8 bytes,
MEMBRO,
especificando a trilha relativa d e n t r o d o data set particionado. Pelo f a t o d e especificar a trilha relativa e
não
o endereço absoluto da mesma, o P D S pode ser m o v i d o sem necessidade de reiocar o endereço dos
membros. Isto confere uma grande versatilidade a este t i p o de organização de data set.
Um
atualização
data
set particionado
e executada
e
o
não pode ter
membro
atualizado
seus membros atualizados " n o
é regravado inteiramente
lugar"
após o
(in p l a c e ) . A
último
membro
existente n o P . D S . , desde que haja espaço suficiente. Desta f o r m a , resta um espaço liberado mas não
utilizável na área ocupada anteriormente pelo m e m b r o utilizado e agora regravado n o final d o P . D . S . Isto
faz c o m q u e periodicamente, um P D S sofra reorganização para eliminar estes espaços e transformá-los
em área final disponível,
T o d a vez q u e houver a inclusão o u a exclusão de um m e m b r o ou q u a n d o for o caso de uma
reorganização do data set, o diretório será atualizado e reclassificado.
R E S U M O : A Organização particionada
I — P e r m i t e acessar um m e m b r o através no n o m e e endereço constantes no diretório^
II — E x i g e uma recriação periódica para eliminar espaços deixados por membros deletados o u
atualizados
III - Suporta formatos: F, F B , V , V B .
I V — Usa métodos de acesso: B S A M — para criação — e B P A M — para atualização.
V — P o d e estar contida apenas e m dispositivos de acesso direto.
52
ENTRADA PARA
F.NTRADA PARA
ENTRADA PARA
ENTRADA PARA
0 MEMBRO A
0 MEMBRO
0 MEMBRO
0 MEMBRO
B
D
DIRETÓRIO
<
K
/
/
ESPAÇO DE
7
MEMBRO DEL rTADO
MHM;
RO
A
/
CONTINUAÇÃO DO\MEMBRO • A
MEMBRO
D
ESPAÇO DE UM
MEMBRO DELETADO
MEMBRO
CONTIMJAÇXO
MEMBRO
B
ÃREA DISPONÍVEL
DO
B
Figura 3 1 - Esquema de u m Data S e t P a r t i c i o n a d o
5.3 — Técnicas de Acesso
Para a atualização de qualquer u m dos tipos d e organização d e data sets mencionados, o O . S .
f o r n e c e ao usuário macro-instruções d e entrada e saída que podem ser divididas e m duas categorias, ou
técnicas, q u e se diferenciam entre si pelos recursos q u e oferecem. A s técnicas e m questão são: técnica
Q U E U E D e técnica B A S I C .
S3
5.3.1 -
Técnica Queued
Esta técnica utiliza as macros G E T e P U T para efetuar a transmissão de dadns entre a memoria
principal e as unidades de entrada e saída e vice-versa.
— Aplica-se apenas para processamento seqüencial.
— Possibilita o acesso ao registro lógico através de blocagem e deblocagem a u t o m á t i c o s ,
— Sincroniza as operações de entrada e saída c o m o processamento,
— O b t é m e controla Buffers a u t o m a t i c a m e n t e .
— Deteta e recupera erros a u t o m a t i c a m e n t e ,
— Manipula condições de f i m de arquivo
(EOF-) e fim de volume ( E O V ) .
Estas características não impedem que o programador tenha de se preocupar c o m problemas tais
como:
— Escolha de técnica de bufferização
— Escolha do m o d o de transmissão
— Escrever a D C B
— Usar, de modo apropriado, os macros G E T e P U T .
5.3.2 — T é c n i c a B a s i c
Esta técnica faz uso das macro R E A D e W R I T E para transmitir dados entre a memória principal
e as unidades de entrada e saída e vice-versa. C u m p r e salientar porém q u e as macros R E A D
apenas iniciam as operações de entrada e saída, cabendo ao programa
problema
e WRITE
a sincronização das
mesmas.
Possui as seguintes características:
— Trabalha c o m qualquer tipo de organização
— Fornece
acesso
apenas ao
registro
físico,
não
efetuando
blocagem
nem
deblocagem
automática.
— N ã o providencia alocação n e m controle de buffers de f o r m a a u t o m á t i c a .
— N ã o executa a deteção n e m a recuperação de erros.
— N ã o testa condições de f i m de arquivo ( E O F ) nem de v o l u m e ( E O V ) .
A t r a v é s destas características é fácil perceber q u e o programador fica encarregado d e todas as
operações desejadas.
Esta técnica, por suas características, é usada nos casos e m que o sistema não t e m condições de
prever a o r d e m e m q u e os registros serão processados ou e n t ã o , nos casos em q u e alguma das funções
automáticas da T é c n i c a Q U E U E D não for desejada.
55
•BPAM-BASIC
Permite
a
PARTITIONED
manipulação
do
ACCESS
diretório
de
METHOD
um
data
set
particionado,
acessando e
alterando
informações do mesmo.
*BTAM-BASIC
Este
método
Além
é utilizado
dos métodos
sistema, é possível ao
características
um
TELECOMMUNICATION
para manipular
de
terminais
cenal
METHOD
usando as facilidades
de acesso
BASIC.
de acesso acima citados, que são todos métodos de acesso próprios
usuário escrever seu próprio método
peculiares de processamento.
programa
ACCESS
ou
inventar
um
de acesso, e m c o n f o r m i d a d e
É possível, por exemplo, que o usuário deseje
algoritmo
qualquer
de
acesso
a data
set,
do
c o m certas
etc.
construir
Isto
é
possível através d o uso da macro E X C P — E x e c u t e C h a n n e l P r o g r a m ,
O uso satisfatório
— Controte d o
— F u n ç õ e s do
desta macro exige conhecimentos detalhados d e :
dispositivo
sistema
— Estrutura dos blocos de
controle
5.5 - Labels
Os
labels são identificadores
(rótulos,
etiquetas)
de volumes ou de data
sets contidos
em
obrigatórios
em
volumes.
Os
labels
de
volume
são
utilizados
unidades de acesso direto e opcionais e m fita
O
utilizados
para
identificar
o
volume
sendo
magnética.
label de volume oferece segurança na medida e m que evita que volumes indevidos sejam
por engano.
É aconselhável q u e cada volume tenha uma identificação única d e n t r o de uma instalação. Este
conselho d e torna uma obrigatoriedade quando os volumes estão montados e m linha (on-line).
Os
labels de data sets por sua vez identificam
o data set dentro
de u m v o l u m e específico.
Q u a n d o os data sets estão e m fita magnética, sua disposição é seqüencial e os labels são utilizados para
distinguir cada data set bem c o m o para conferir-lhe suas próprias características.
Os labels p o d e m ser divididos e m dois grupos: labels para fitas magnéticas — T A P E L A B E L S — e
labels para dispositivos de acesso direto -
DASD
LABELS.
Data sets oriundos de equipamentos d o tipo U N I T R E C O R D não t e m labels.
5.5.1 - T a p e Labels
C o m o O . S . p o d e m ser processados volumes c o m os seguintes tipos de labels:
I - S L - S t a n d a r d Label
56
II - S U L - S t a n d a r d User Label
III - N S L IV -
N o n Standard Label
N L - N o Label
I — S T A N D A R D L A B E L — S ã o registros de 80 bytes constituídos de u m label de volume e u m
grupo d e labels do data set.
O label d o v o l u m e é o primeiro registro na fita e identifica o v o l u m e e o proprietário. Os labels
do data set antecedem e sucedem cada data set no v o l u m e , além d e identificá-lo e descrevê-lo.
Os labels d o data set são:
— Header Labels — aqueles q u e antecedem o data set.
- S T A N D A R D USER
-
LABEL -
opcional.
Trailer Label - aqueles q u e sucedem o data set,
II — N O N S T A N D A R D
L A B E L — Pode ser de qualquer
t a m a n h o e é processado por rotinas
escritas pelo usuário.
N o cartão D D e J C L o usuário especificará o parâmetro L A B E L = (, N S L ) .
I I ! — HO L A B E L — U m v o l u m e de fita magnética sem label pode conter u m o u mais data sets
(separados por T a p e M a r k s ) .
No
cartão D D d e J C L o usuário especificará o parâmetro L A B E L = ( , N L ) . Para ler u m certo
data set devemos contar o número d e tape marks q u e o p r o c e d e m . E x : L A B E L = ( 2 , N L ) fará c o m q u e o
sistema leia o segundo data set do v o l u m e .
SE* rueÇtO DL PABCESSLMEITO
1
(kriMM
-^c>< U nmt i t B l f t p i i i K l
'
^ riiiiiMIft
^ ratirtils
im
Illa
I «RUC.
•usuianta
>nun)iii lanii
^annitt
-^ittaiiiicaoi
Figura 3 3 -
am
it
«lut
itlana
<9 liluat
H lattl It muna
It lalai !• itloaa
Label d e V o l u m e para Fita e Disco
54
5.4 — M é t o d o s de Acesso
A p ó s estarmos de posse de alguns conceitos fundamentais sobre organização de data sets e sobre
técnicas de acesso, podemos conceituar o que sejam métodos de acesso.
Chamamos de método
de acesso à c o m b i n a ç ã o de uma técnica d e acesso c o m uma
certa
organização de data set.
TÉCNICAS DE ACESSO
O R G A N I Z A Ç Ã O DO D A T A S E T
SEQUENCIAL
SEQUENCIAL
INDEXADA.
QUEUED
BASIC
QSAM
QISAM
BSAM
BISAM
.BDAM
BPAM
DIRETA
. .
PARTICIONADA
QTAM
TELECOMUNICAÇÕES
.BTAM
T CA M
Figura 3 2 — Métodos de Acesso d o O . S .
Os métodos de acesso disponíveis no O . S . são os seguintes:
*aSAM
É
o
-
QUEUED SEQUENTIAL ACCESS
método
que
permite
processar
METHODS
seqüencialmente
um
data
set
organizado
de
forma
seqüencial.
*QISAM -
QUEUED INDEXED SEQUENTIAL ACCESS
METHOD
Permite processar seqüencialmente u m data set organizado de forma seqüencial indexada.
*QTAM -
QUEUED TELECOMMUNICATIONS ACCESS
METHOD
*TCAM - TELECOMMUNICATION ACCESS METHOD
Estes dois
métodos são utilizados quando temos entradas e saídas procedentes de
terminais
remotos, fornecendo diversas macros e as facilidades da técnica de acesso Q U E U E D .
* B S A M - BASIC SEQUENTIAL ACCESS
METHOD
Permite processar seqüencialmente um data set organizado
*BISAM-BASIC
INDEXED
SEQUENTIAL
Permite processar r a n d o m i c a m e n t e
*BDAM-BASIC
É
direta.
o
único
DIRECT
método
de
ACCESS
acesso
ACCESS
de f o r m a seqüencial.
METHOD
um data set organizado
de f o r m a seqüencial
indexada.
METHOD
c o m o qual
podemos
processar data
sets c o m
organização
57
5.5.2 -
Dasd L a b e l
Cada volume de acesso direto é identificado por u m label de v o l u m e c o m 80 caracteres e que se
localiza no terceiro registro da trilha zero, cilindro zero. Este label é análogo ao T a p e Label de v o l u m e
c o m a diferença que o c a m p o 5, que na fita não é utilizado, aqui é utilizado para conter o apontador da
VTOC.
A
V T O C é composta por registros de D S C B — Data S e t Control
B l o c k — de todos os arquivos
residentes no v o l u m e .
C o n f o r m e vimos acima o label de v o l u m e t e m localização fixa, mas a V T O C n ã o , por isso existe
no label de volume u m apontador para a V T O C . N o r m a l m e n t e a V T O C é colocada e m área adjacente ao
label de v o l u m e para minimizar o t e m p o de S E E K .
Q u a n d o o data set c o n t é m labels d o usuário, estes o c u p a m área imediatamente anterior à d o
data set.
C IL IHDRO
«C£$SO|
Figura 3 4 -
5.6 -
Label de Dasd
Data Sets d o Sistema
E x i s t e m 2 3 data sets do sistema dos quais 8 são obrigatórios e 15 opcionais.
Independentemente do fato de serem obrigatórios
o u opcionais, todos os data sets d o sistema,
c o m exceção do S Y S C T L G , t e m nomes qualificados c o m p o s t o s d e dois nomes simples ligados por p o n t o ,
dos quais o primeiro é sempre S Y S 1 .
5a
5.6.1 -
Data Sets
Obrigatórios
• S Y S C T L G - é u m data set seqüencial que c o n t é m o catálogo d o sistema.
* S Y S 1 . N U C L E U S - é u m data set particionado que c o n t é m as rotinas residentes d o
de controle
programa
(NÚCLEO).
* S Y S 1 . S V C L I B - data set particionado
contendo
rotinas não residentes que são carregadas à
medida da necessidade.
* S Y S 1 . L 0 G R E C - c o n t é m estatísticas quanto ao f u n c i o n a m e n t o do e q u i p a m e n t o . É organizado
seqüencialmente.
* S Y S 1 . L I N K L I B - c o n t é m os módulos executáveis ( L O A D M O D U L E S )
o u seja, os programas
de processamento da instalação. S u a organização é particionada.
* S Y S 1 . S Y S J O B Q E - data set seqüencial c o n t e n d o os cartões de controle separados por classes e
ordenados por prioridades.
* S Y S 1 . P R 0 C L I B - é u m data set particionado qua c o n t é m os procedimentos catalogados.
* S Y S 1 . P A R M L l B - contém
PRESRES -
os
parâmetros
utilizados
pelo
sistema
como
por
exemplo
lista de volumes P R I V A T E . S u a organização é particionada.
Observaçio: -
Estes d a t a sets obrigatórios d o sistema não necessitam residir obrigatoriamente no mesmo
volume
de
DASD.
Porém,
Operacional — S Y S R E S — deve conter
-
IPL
-
SYSCTLG
o
volume
de
DASD
que
contém
o
Sistema
obrigatoriamente:
-SYS1.NUCLEUS
-SYS1.SVCLIB
-SYS1.LOGREO
É aconselhável que o data set S Y S 1 . S Y S J O B Q E seja criado no dispositivo de acesso direto mais
rápido da instalação e , de preferência, separado do S Y S R E S para evitar interferências.
5.6.2 - Data Sets Opcionais
*SYS1.MACLIB
- macros para A S S E M B L E R
*SYS1.F0RTLIB *SYS1.C0BLIB •SYSI.PLILIB -
rotinas para
rotinas para
FORTRAN
COBOL
rotinas para P L / 1
* S Y S 1 . S 0 R T L I B - rotinas para S O R T / M E R G E
59
* S Y S 1 . A L G L I B - rotinas para A L G O L
* S Y S 1 . T E L C I V 1 L I B — rotinas para Teleprocessamento
* S Y S 1 . A S R L I B — certos módulos d o núcleo para rotinas de manuseio d o " M a c h i n e — c h e c k "
*SYS1.SYSVL0GX}
*SYS1.SYSVL0GY
dados do " s y s t e m l o g "
-
* S Y S 1 . R O L L O U T - função
ROLLOUT/ROLLIN
* S Y S 1 . A C C T - informações de contabilização
'SYS1.MANX} SYSTEM
*SYS1.MANY
*SYS1.DUMP -
MANAGEMENT
FACILITIES
D U M P da memória ( A b e n d )
6 - C O N T R O L E DO S I S T E M A
6.1 — I n t r o d u ç ã o
O c o m p u t a d o r é uma máquina preparada para realizar certas tarefas, mais o u menos complexas,
de forma
rápida e precisa. P o r é m , c o m o toda
máquina, é desprovido de inteligência e por esta razão
necessita ser instruído e c o n t r o l a d o .
A instrução é definida pelos programas de aplicação que d e t e r m i n a m o que deve ser feito. Cada
programa
portanto instruirá o c o m p u t a d o r
de uma certa maneira visando alcançar os objetivos para os
quais ele, programa, foi criado.
O controle
é exercido
por comandos externos que d e t e r m i n a m c o m o e c o m q u e meios fazer
aquilo q u e o programa de aplicação requer.
Nota-se portanto u m v í n c u l o estreito entre o programa de aplicação e os comandos de controle.
Considerando que o programa de aplicação prevalece sobre os comandos de controle na medida e m que,
estes, nada mais são d o que auxiliares do c o m p u t a d o r
para atingir os objetivos definidos por aquele;
parece evidente que o controle seja efetuado e m f u n ç ã o das instruções e não ao c o n t r á r i o . E n t ã o , para
resumir este pensamento, a situação se apresenta da seguinte maneira: existe u m problema e existe u m
c o m p u t a d o r c o m o qual podemos resolver o problema. Primeiramente é preciso traduzir o problema de
modo
inteligível
para a máquina. Isto é feito através de uma seqüência de instruções numa
qualquer pertencente ao conjunto das linguagens que a máquina está
apta
a interpretar.
linguagem
E m segundo
lugar é preciso estabelecer uma c o m u n i c a ç ã o c o m a máquina para orientá-la q u a n t o às necessidades d o
problema e dos recursos, bem c o m o para que ela nos informe sobre possíveis erros ou omissões o u peça
instruções
complementares.
Isto é feito,
pelo
menos no
nosso caso, através da
linguagem d e controle d e trabalho denominada J O B C O N T R O L
utilização
L A N G U A G E - J.C.L. -
de
uma
, composta de
uma série limitada de comandos dentre os quais utilizamos aqueles de que necessitamos n u m
trabalho
determinado. Estes comandos são enviados ao c o m p u t a d o r via cartões perfurados que recebem o n o m e
de J O B C O N T R O L C A R D S - J . C . C . comandos de controle
Por este motivo é que geralmente falamos indiferentemente e m
ou cartões de controle
circula o c o m a n d o e t u d o mais a este associado.
apesar d e , a rigor, o cartão ser o v e í c u l o sobre o qual
60
DATA SFT DO
[)BRIGATt3RI0
^ORGANIZAÇÃO
RESIDEM
SISTEMA
NO
SYSRES
ALOCAÇXO SE- j
CATALOGADO
CUNDARLA PER
MITIDA
1
j
SYSCTI^n
SIM
SEf).
SIM
SIM
SYSl.NUCLEUS
SIM
PDS
SIM
nAO
OPC ionai^wente
SYKl.SVCLIB
sm
PDS
SIM
sm
PREFERIVELMENTE
SYSl .LOCREC
SIM
SEQ.
SIM
NXO
nXO
SYSI.LINKLIB
SIM
PDS
OrCTOMAlMENTE
SIM
SIM
SYSl.PARMLlB
SIM
PDS
nrCTONAIXKNTE
nAO
PREFERIVELMENTE '
SYSI.PROCLIB
SIM
PDS
OPCIONALMENTE
SIM
PREFERIVEIXENTE '
SYS I.SYSJOBQE
SIM
SEQ.
OPCIONAIKENTE
NAO
PREFERIVELMENTE
SYSl.MACLIB
NÃO
PDS
OPCIONAI MENTE
SIM
PREFERIVELMENTE
SYSl.SORTLIB
NÍO
PDS
nrCIONALMENTE
SIM
PREFERIVELMENTE
SYSl.ALCLIB
nAO
PDS
OPCIONAUtENTE
SIM
PREFERIVELMENTE
SYSl.COBLIB
NSO
PDS
0PCI0NAIJ1ENTE
SIM
PREFERIVELMENTE
SYSl.FORTLIB
NÍO
PDS
OrCIONAIKENTE
sm
PREFERIVELMEirre
SYSl.PLIMB
NÎ0
PDS
OPCIONALMENTE
SIM
PREFERIVELMENTE 1
SYSl.TELCMLIB
NJCO
PDS
OPCIONALMENTE
SIM
PREFERIVEIMENTE
SYSl.SYSVLOCX
NXO
SEQ,
OPCIONALMENTE
NAo
SIM
SYSl.SYSVLOOY
NSO
SEQ.
OPCIONALMENTE
NXO
sm
SYSl.ROLLOUT
NÍO
SEQ.
OPCIONALMENTE
NXO
SIM
SYSl.ASRLIB
NÃO
SIM
NAO
NXO
OPCIONALMENTE
NAO
NXO
OPCIONALMENTE
NXO
PREFERIVELMENTE
NÃO
PREFERIVELMENTE
nAO
sm
SYSl.ACCT
1
ffYSl.MANX
SYSI.HANY
^Sl.DUMP
NÍO
NÃO
NÍO
nAo
,
SEQ.
1
.
!
SEQ.
SEQ.
.SEQ.
SEQ.
Figura 3 5 -
1t
OPCIONAIWENTE
OPCIONAIMENTE
Data S e t s d o Sistema
nAo
61
Em
CONTROL
resumo podemos dizer que o controle
LANGUAGE
do sistema é feito através de comandos de J O B
os quais, pelo papel que e x e r c e m , precisam ser muito bem conhecidos
por
q u e m deles for utilizar-se, para poder obter d o sistema a melhor performance possível.
Este c o n h e c i m e n t o detalhado necessário, não será fornecido nas presentes notas porque o J . C . L .
deve ser tratado
a parte, tal sua importância
e extensão, não podendo figurar aqui senão sob f o r m a
introdutória, muito mais visando mostrar o potencial do O . S . , do que propriamente c o m a preocupação
de ensinar sua utilização. E é assim que será tratado.
6.2 - J o b C o n t r o l Language
O J . C . L . é uma linguagem que permite estabelecer uma c o m u n i c a ç ã o entre o usuário e o sistema
operacional.
Mais
precisamente
podemos dizer que através do J . C . L .
o usuário se comunica c o m o J O B
M A N A G E M E N T e especialmente c o m o J O B S C H E D U L E R .
6.2.1 - Cartões de J . C . L .
E x i s t e m nove c o m a n d o s o u , usualmente falando apesar d e indevido, nove cartões d e J . C . L .
-
-
CARTÃO JOB
Identifica
o J O B , marca seu i n i c i o e o f i m d o precedente.
CARTÃO
EXEC
Marca
o
inicio
de
um
step
e
o
fim
do
step
anterior.
Indentifica
o
programa
ou
o
procedimento catalogado a ser c h a m a d o .
-CARTÃO
DD
Identifica u m data set e descreve seus atributos.
- CARTÃO
Marca
o
PROC
inicio de um
procedimento
"in-stream"
e opcionalmente
de u m
procedimento
catalogado.
No
primeiro caso pode ser usado para atribuir valores e parámetros simbólicos. N o segundo caso
é usado para esse f i m .
-CARTÃO
PEND
Marca o f i m de u m p r o c e d i m e n t o
-
CARTÃO
in-stream.
COMANDO
Usado para entrar c o m c o m a n d o s através do input stream.
62
-CARTÃO
DELIMITADOR
Usado no input stream para indicar f i m dos dados.
-
CARTÃO
COMENTARIO
Usado para entrar c o m informações auxiliares.
-CARTÃO
NULO
P o d e ser usado para indicar o f i m de u m J o b S t r e a m .
6.2.2 - C a m p o s no Cartão d e J . C . L .
E x i s t e m sete campos c o m p o n d o u m cartão de J . C . L .
-CAMPO
INICIAL
Este c a m p o ocupa as colunas 1 e 2 e c o n t é m sempre / / , c o m exceção do cartão delimitador
que c o n t é m /*.
-
CAMPO DE NOME
Identifica
pode
o cartão permitindo que seja referenciado. Este campo deve iniciar na coluna 3 e
comportar
tanto
nomes simples c o m o qualificados, obedecendo às características de
formação de cada u m deles.
- C A M P O DE OPERAÇÃO
Especifica o tipo de cartão de controle
o u , e m se tratando
de u m cartão de c o m a n d o , o
c o m a n d o . Este c a m p o deve ser precedido e seguido de pelo menos u m branco.
- C A M P O DE OPERANDO
C o n t é m os parâmetros separados por vírgulas. Deve ser precedido e seguido de pelo menos
u m branco.
- C A M P O DE COMENTARIOS
Pode
conter
qualquer
informação
que seja útil.
Deve
ser precedido
de pelo
menos, u m
branco.
- C A M P O DE CONTINUAÇÃO
E s t e c a m p o , o c u p a n d o a coluna 7 2 , pode conter qualquer carácter, inclusive brancos, q u a n d o
o cartão que o c o n t é m tiver c o n t i n u a ç ã o . S e não, este c a m p o deve conter apenas branco. N ã o
necessita estar entre brancos.
-
CAMPO DE IDENTIFICAÇÃO
O c u p a n d o as colunas 73 a 8 0 , pode ser usado para conter códigos que i d e n t i f i q u e m o cartão.
Não
precisa ser precedido n e m seguido de brancos.
63
E m b o r a sejam estes os campos existentes, n e m todos os cartões os c o n t é m na sua
totalidade.
6.2.3 -
Regras para C o n t i n u a r u m C a r t ã o de J . C . L .
— A
interrupção
somente pode se dar após a codificação de u m parâmetro o u
subparâmetro
c o m p l e t o , isto é, após uma vírgula.
— A vírgula não deve ultrapassar a coluna 7 1 .
— O cartão seguinte deve ter / / codificados na coluna 1 e 2 .
— A c o n t i n u a ç ã o deve
ser
indicada entre as colunas 4 e 16.
Observações:
1 -
não
têm
Os c o m a n d o s :
-
C O M A N D O (//)
-
DELIMITADOR
-
C O M E N T Á R I O (//*)
-
N U L O (//)
continuação.
(/*)
N o caso dos cartões: C O M A N D O
e C O M E N T Á R I O , embora não possam ter
c o n t i n u a ç ã o , p o d e m o s codificar tantos cartões quantos sejam necessários.
2 -
N ã o é necessário perfurar u m carácter diferente de b r a n c o , na coluna 7 2 , para indicar q u e
há c o n t i n u a ç ã o no p r ó x i m o cartão.
6.2.4 — T i p o s de Parâmetros no J . C . L .
E x i s t e m 4 tipos de parâmetros e m J . C . L .
— O P C I O N A I S — usados somente q u a n d o necessário.
— O B R I G A T Ó R I O S - sempre usados.
— P O S I C I O N A I S - cujo
significado
depende
da
posição
relativa
dentro
do
conjunto
de
parâmetros.
— P A L A V R A S C H A V E S — cujo significado é dado pela própria palavra, independentemente da
sua
6.2.5 -
posição relativa.
U s o d o Parênteses e A p ó s t r o f e e m
J.C.L.
I — Os parênteses são c o m u m e n t e utilizados nos casos de subparâmetros dentro de parâmetros.
64
II — O apostrofe é usado principalmente para casos em que seja necessário o uso de caracteres
especiais o u nomes c o m mais de 8 caracteres.
Observação: Há casos e m que os apostrofes p o d e m ser substitui'dos por parênteses.
6.2.6 — P r o c e d i m e n t o s Catalogados
Os procedimentos catalogados são conjuntos de comandos de controle gravados n u m data set
particionado d e n o m i n a d o biblioteca de procedimentos ( S Y S I . P R O C L I B ) .
Um
procedimento
catalogado pode ser chamado e intercalado n u m j o b , por meio do cartão
E X E C no qual o parâmetro P R O C especifica o n o m e d o membro d o P . D . S . S Y S I . P R O C L I B .
Para atender
alterados
a
(OVERRIDE)
certas
pelo
necessidades momentâneas, os
parâmetros
da
procedure
p o d e m ser
usuário e o sistema executará as alterações indicadas ao intercalar
o
procedimento no J O B . Na biblioteca o procedimento permanece inalterado.
Nas posições iniciais da listagem dos cartões de controle emitida pelo c o m p u t a d o r t e m o s :
/ / indicando os J . C . C , d o input stream
X X indicando os J . C . C , da S Y S I . P R O C L I B sem O V E R R I D E
X / i n d i c a n d o os J . C . C , da S Y S I . P R O C L I B c o m O V E R R I D E
Um
exemplo de procedimento catalogado são as etapas de c o m p i l a ç ã o , linkedição e execução
dos programas de aplicação. Estas etapas, pelo f a t o de serem idênticas para todos os programas, e para
evitar que as mesmas tivessem que ser anexadas ao Input S t r e a m toda vez que u m programa ia ser
testado, f o r a m convertidas e m procedimentos catalogados. E m decorrência disto t e m o s procedimentos
catalogados tais c o m o :
C O B U C - para compilação e m C O B O L
C O B U C L — para c o m p i l a ç ã o e linkedição e m C O B O L
C O B U C L G — para c o m p i l a ç ã o , linkedição e execução e m C O B O L .
etc.
6.2.7 -
Bibliotecas Particulares
Os módulos de carga são guardados normalmente na biblioteca do sistema S Y S l . L I N K L I B .
não
impede
que
conveniências.
o
O
usuário
crie e use bibliotecas
O . S , permite
ao
usuário
particulares
criar
Isto
de acordo c o m suas necessidades e
bibliotecas
particulares
distintas
contendo
os
módulos de carga de programas.
Normalmente
Quando forem
o sistema pesquisa o
usadas bibliotecas
carregado não está na biblioteca
de
especificar o
carregar,
primeiro
SYSl.LINKLIB.
biblioteca
a ser carregado na biblioteca
é preciso
do
mas sim
nome da biblioteca
na
programa
particulares
sistema
particular.
particular
informar
numa
Desta f o r m a
e, somente
ao sistema que o
biblioteca
o
se não
programa a ser
particular, além disso t e m o s
sistema irá
o
SYSl.LINKLIB.
encontrar
procurar
lá,
ira
o
programa
procurá-lo
a
no
65
A maneira d e informar o sistema da existência de bibliotecas particulares é especificar o data set
através de cartões D D especiais:
-
J O B L I B - situado
entre
o
cartão
JOB e
o
primeiro
EXEC
deste
JOB. A
biblioteca
especificada c o m este cartão D D é válida para todos os steps do J O B exceto aqueles que tiverem o
cartão S T E P L I B .
-
S T E P L I B - situado
imediatamente
após o cartão E X E C . A biblioteca especificada c o m este
cartão D D é válida apenas para step ao qual pertence o S T E P L I B .
Exemplo:
//BIBLPART
JOB
//JOBLIB
DD
DSN=IV1INHA.BIBLI0T
//PASS01
EXEC
PGM=PAGTO
DD
DO
//PASS02
EXEC
PGM=DESCTO
DD
DD
//PASS 03
EXEC
PGM=SALDO
//STEPLIB
DD
DSN=BIBLIOT.DE.SALDO
DD
DD
//PASS04
EXEC
PGM=FINAL
DD
DD
6.2.8 - Data S e t C o n c a t e n a d o
Possibilita o processamento de data sets c o m o se se tratasse de u m único data set de entrada.
Os data sets não necessitam ser semelhantes mas é preciso que sua organização seja seqüencial
o u particionada.
Para concatenar data sets basta usar u m cartão D D normal para o primeiro data set (aquele ao
qual
os demais serão concatenados) e cartões
DD
c o m o c a m p o de nome do
branco.
Exemplo:
//ENTRADA
DD
DSN=ABC
//
//
//
DD
DSN=DEF
DD
DSN=GHI
DD
D D — DDname — em
66
7 -
NOÇÕES DE TELEPROCESSAMENTO
Teleprocessamento é u m processamento de dados a distância c o m a utilização de u m terminal
mais p r ó x i m o da origem dos dados d o que dos meios de cálculo.
Um
sistema
de Teleprocessamento não é muito
diferente de u m sistema de processamento
c o m u m , é mais uma extensão deste utilizando as técnicas atuais de c o m u n i c a ç ã o . Daf conceituarmos
t a m b é m T . P . c o m o sendo u m sistema d e processamento d e dados mais c o m u n i c a ç ã o .
A
grande
novidade
do
T . P . são
os terminais
que
nada
mais
entrada/saída colocados a distância da U . C . P . d o sistema central.
7.1 — E l e m e n t o s Básicos d e u m Sistema de T . P .
Os elementos básicos de u m sistema T . P . são:
TERMINAL
M O D E M — ligação entre terminal o u sistema e linha
LINHA
M O D E M — ligação entre linha e terminal o u sistema
U C T — unidade d e controle d e transmissão
U C P — do sistema
D A S D e componentes d e entrada e saída d o sistema.
Figura 36 -
C o m p o n e n t e s de u m Sistema de T . P .
são do
que
unidades
de
67
' T E R M I N A L - é o responsável pela entrada e / o u saída remota de dados n u m sistema de T . P .
C o m o e x e m p l o de modalidades de entrada e saída t e m o s :
— cartão perfurado
— fita perfurada
— fita magnética
— teclado
— vídeo
— impressora
— telefone
— U.C.P.
— etc.
* M O D E M - é o elemento de ligação entre o terminal o u o sistema e a linha. T e m por f u n ç ã o
modular
ou
démoduler
o
sinal,
geralmente digital, que parte
ou
chega - do
terminal — o u da U C P .
*LINHA-cabos
o u canais hertzianos sobre os quais circulam as informações - dados - n u m
sistema de T . P .
*UCT-são
dispositivos
comunicação.
que servem para
fazer
a interface
E m outras palavras, compatibilizam
entre
a U C P e as linhas d e
os sistemas d e processamento de
dados convencionais c o m os sistemas de teleprocessamento.
* U C P - t a m b é m pode funcionar
c o m o terminal sendo o elemento básico mais importante e m
Teleprocessamento.
7.2 — Principais A p l i c a ç õ e s d e Teleprocessamento
A s principais aplicações de T . P . p o d e m ser agrupadas e m três categorias:
I -
D A T A E N T R Y - permite ao operador d o terminal enviar dados da f o n t e original à U . C . P .
diretamente.
II Ill -
INQUIRY-os
dados, centralizados, p o d e m ser examinados através d e terminais remotos.
R E C O R D U P D A T E - permite atualizar dados armazenados e m determinados arquivos.
Para exemplificar estas aplicações t o m e m o s
um banco
de dados
de qualquer
espécie, dados
estatísticos de u m esta lo, por e x e m p l o .
A
criação d o banco de dados usa o D A T A E N T R Y ; as consultas a este banco de dados são
efetuadas via técnica I N Q U I R Y e , finalmente a atualização de registros deste banco de dados é feita através
do R E C O R D U P D A T E .
68
Outras aplicações de T . P . são:
*Processamento r e m o t o por lotes — onde os dados são enviados para u m processamento posterior
por lotes.
* S i s t e m a de coleção de dados — análogo ao anterior c o m a diferença que os dados são enviados à
"estação m e s t r e " à medida que são coletados,
^ C o m p u t a ç ã o remota — R e m o t e J o b E n t r y — o usuário utiliza o sistema via t e r m i n a l , cabendo-lhe
a programação. Desta forma vários usuários remotos utilizam uma grande U . C . P .
*IVianagement
Information
System -
M I S - permite
necessidade de percorrer o c a m i n h o normal usuário
ao
usuário
»• chefe d o C . P . D .
utilizar-se
do
* analista
sistema
sem
* programador
*• operador.
A escolha de u m sistema completo de T . P . deve ser precedido por uma análise precisa e objetiva
das necessidades reais que requerem tal sistema.
P o d e m o s resumir a três as características essenciais q u e d e v e m ser consideradas na escolha e na
implantação de u m sistema de teleprocessamento:
O valor da informação
A e c o n o m i a da transmissão
A segurança das informações
Finalizando achamos interessante chamar a atenção sobre o f a t o de o teleprocessamento ser, via de
regra,
encarado
apenas
como
centralizador
de processamentos. Seria
interessante p o r é m
pensar
no
teleprocessamento t a m b é m c o m o u m descentral izador de responsabilidades. Isto é importante considerando
que na ciência, na administração pública e privada, na política, etc. a filosofia mais adotada modernamente
é a da descentralização de responsabilidades.
8 - A L G U M A S C O N S I D E R A Ç Õ E S S O B R E O /370
No
que se refere à operacionalidade d o sistema, não existem praticamente diferenças entre o
l B M / 3 6 0 e o l B M / 3 7 0 . A s diferenças existem na parte física da máquina isto é , no hardware.
A
seguir
serão
diferenciam das anteriores -
apresentadas
suscintamente
algumas
características d o
sistema/370
/360.
* 0 / 3 7 0 é mais veloz que o / 3 6 0 .
* U m a parte da U . C . P . do / 3 7 0 é de 4? geração c o m circuitos m o n o l í t i c o s .
* 0 ciclo de U . C . P . do / 3 7 0 é aproximadamente 4 vezes mais rápido que do / 3 6 0 .
O ciclo d e U . C . P , de / 3 6 0 m o d e l o 6 5 é de 650 nanosegundos.
O ciclo de U . C . P . do / 3 7 0 modelo 165 é de 160 nanosegundos.
que
o
69
OBS. -
0.
000.
000.
000
-nanosegundos
-micro-segundos
-milisegundos
-segundos
*0
/370
possui, além dos canais S e l e t o r e M u l t i p l e x o r , o canal B l o c k - M u l t i p l e x o r
que pode
trabalhar t a n t o c o m unidades d e alta c o m o de baixa velocidade.
* A l é m dos 5 tipos de instruções do / 3 6 0 , o / 3 7 0 possui u m sexto tipo chamado t i p o S .
COD.
COD.
OP.
OP.
B
|d
B 1 d 2 bytes para o código de operação
N o / 3 6 0 base + deslocamento = endereço absoluto, correspondendo ao E n d e r e ç o R e a l .
N o / 3 7 0 base
deslocamento = endereço absoluto H-extensão, correspondendo
ao E n d e r e ç o
Real.
A extensão é acrescentada por h a r d w a r e e graças a ela é possível mudar u m programa inteiro de
uma parte a outra da memória sem modificação alguma.
* N o / 3 7 0 existem mais 16 registradores de privilégio d o Supervisor, chamados Registradores de
Controle.
70
ANEXO
1
Tabela de Aplicações Usuais dos Utilitários
AÇÃO
ALTERA
APLICAÇÃO
UTILITÁRIO
N? serial de volume em D A S D R
lEHDASD
Organização de data sets
lEHBUPDTE
Tamanho do registro lógico
lEBGENER
ANALISAR
Trilhas em acesso direto
lEHATLAS, lEHDASDR, IBCDASDI
ATUALISAR
Data sets particionados, "in place"
lEBUPDTE
CARREGAR
Data sets indexados sequenciais
lEBISAM
CATALOGAR
Data sets
lEHPROGM
COMPARAR
Data sets particionados
lEBCOMPR
Data sets sequenciais
lEBCOMPR
Data sets particionados, "in place"
lEBCOPY
COMPRIMIR
CONVERTER
Data set indexado sequencial para sequencial
COPIAR
......
lEBISAM, lEBDG
Data set particionado para sequencial
lEBUPDTE
Data set sequencial para particionado
lEBUPDTE, lEBGENER
Catálogo
lEHMOVE
Data set catalogado
lEHMOVE
Data set indexado sequencial
lEBISAM
Data set particionado
lEBCOPY, lEHMOVE
Data set sequencial
lEBGENER, lEHMOVE, lEBUPDATE
"Dump" de dados, de fita para D A S D
lEHDASDR, IBCDMPRS
"Job Step"
Membros . . .
lEBEDIT
•
lEBUPDATE. lEBGENER. lEBUPDTE,
lEBDG
Volume de acesso direto
CRIAR
Data set sequencial de saída
Índice
DELETAR
DESCARREGAR
lEHDASDR, lEHMOVE, IBCDMPRS
lEBDG
.
lEHPROGM
" J o b stream" de sarda
lEBEDIT
Membros .
lEBDG
Registros de um data set particionado
lEBUPDTE
Registro de um membro
lEBUPDATE
Data set indexado sequencial . . . .
lEBISAM
Data set particionado
lEBCOPY. lEHMOVE
Data set sequencial
lEHMOVE
D E S C A T A L O G A R Data sets
lEHPROGM
71
continuação
EDITARE
Data set sequencial
lEBGENER, lEBUPDTE
COPIAR
" J o b stream"
lEBEDIT
EDITAR E
Data set sequencial
lEBPTPCH
Data set sequencial
lEBPTPCH
EXCLUIR
Membros de um P. D.S, numa operação de cópia . . .
lEBCOPY, lEHMOVE
GERAR
Dados para teste
lEBDG
IMPRIMIR
Data set particionado
lEBPTPCH
Data set sequencial
l E B G E N E R , lEBUPDTE, lEBPTPCH
Registros selecionados
lEBPTPCH
Fita magnética
lEHINITT
Volumes de acesso direto
lEHDASDR, IBCDASDI
INSERIR
Registros de um data set particionado
lEBUPDTE
INTERCALAR
Data set particionado
lEHMOVE, lEBCOPY
LISTAR
V.T.O.C
lEHLIST
MODIFICAR
Data set particionado ou sequencial
lEBUPDTE
MOVER
Data set catalogado
lEHMOVE
IMPRIMIR
EDITAR E
PERFURAR
INICIALI2AR
PERFURAR
RENOMEAR
SUBSTITUIR
'SCRATCH'
Data set particionado
lEHMOVE
Data set sequencial
lEHMOVE
Data set sequencial
lEBPTPCH
Membros de um data set particionado
lEBPTPCH
Registros selecionados
lEBPTPCH
Data set particionado ou sequencial
lEHPROGM
Membros copiados ou movidos
lEHMOVE
Membros de data set particionado
lEBCOPY, lEHPROGM
Membros
lEBUPDTE, lEBUPDATE
Registros lógicos
lEBUPDTE
Data sets
V.T.O.C
lEHPROGM
•••
lEHPROGM
72
ANEXO 2
COMPARAÇÃO E N T R E LINGUAGENS QUANTO A FACILIDADES
DE"DATA
MANAGEMENT"
LINGUAGENS
F A C I L I D A D E S DE
"DATA
MANAGEMENT"
ALGOL
COBOL
FORTRAN
ANS
E, G, H
PL/I
R P G
B U F F E R AUTOMÁTICO
SIM
SIM
SIM
SIM
SIM
T É C N I C A DE A C E S S O B A S I C
''tf
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
NÃO
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
NÃO
NÃO
NÃO
NÃO
NÃO
NÃO
SIM
SIM
SIM
SIM
NÃO
NÃO
NÃO
NÃO
NÃO
NÃO
SIM
NÃO
SIM
SIM
NÃO
SIM
NÃO
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
" B U F F E R I Z A Ç Ã O " SIMPLES
SIM
SIM
SIM
SIM
SIM
REGISTROS EM " O V E R F L O W "
NÃO
SIM
SIM
SIM
NÃO
• C O N T R O L E DE " B U F F E R "
C O N C A T E N A Ç Ã O S E Q U E N C I A L DE
"DATA SETS"
P R O T E Ç Ã O DE S E N H A
("PASSWORD")
P R O C E S S A M E N T O DE D A T A S E T S
MULTIVOLUME
G R U P O DE G E R A Ç Ã O DE DADOS
(G, D, G.)
T R O C A DE B U F F E R S
P R O C E S S A M E N T O DE D A T A S E T S
O R G A N I Z A D O S DE F O R M A D I R E T A
P R O C E S S A M E N T O DE P. D. S .
P R O C E S S A M E N T O DE D A T A S E T
SEQUENCIAL
INDEXADO
T É C N I C A DE A C E S S O Q U E U E D
DATA SET SEQUENCIAL:
C O N T R O L E DE D I S P O S I T I V O
DATA S E T SEQUENCIAL:
I N D E P E N D Ê N C I A DE D I S P O S I T I V O
O B S . : T O D A S AS F A C I L I D A D E S S Ã O D I S P O N Í V E I S AO U S U Á R I O COM O USO DA L I N G U A G E M A S S E M B L E R
73
ANEXO 3
TIPOS D E S I S T E M A S O P E R A C I O N A I S P A R A C O M P U T A D O R E S IBM/360
I -
BPS -
BASIC P R O G R A M M I N G SUPPORT
É um sistema utilizado em computadores do modelo 25 ao 50, com memórias de 8 até 64 K. Contém
programas de utilidades e S O R T / M E R G E .
II -
BOS -
BASIC OPERATING SYSTEM
É o menor dos sitemas operacionais. Aplica-se a computadores do modelo 25 ao 50 com memórias de 8 a
64 K. Exige uma unidade residente em disco magnético. Permite utilizar programas de utilidades de S O R T / M E R G E .
III -
DOS/TOS Estes
DISK O P E R A T I N G S Y S T E M / T A P E O P E R A T I N G S Y S T E M
sistemas são aplicados em computadores do modelo 25
ao 75 com memórias de 16 a 512 K.
Permitem utilizar programas de utilidade, S O R T / M E R G E . e Tele-Processamento (só o DOS).
A unidade residente pode ser disco (DOS) ou fita magnéticas (TOS).
IV -
O S-
OPERATING SYSTEM
É o sistema operacional propriamente dito e o mais completo
Aplica-se a computadores do modelo 25 ao
75 com memória de 64 K em diante.
Permite utilizar todas as facilidades.
N O T A : Na figura
abaixo
vemos um resumo
das linguagens e facilidades suportadas pelos diversos sistemas
operacior^ais,
LIMOIIAGOIS
S
T I P O IW S I S T E X *
nPCBÀCTCRUL
BOU
ASEEMBLKn
FfJfTRWÍ
rv
•'Y.y:>>:y-
-y -y i'y.
PL/I
p-ro
-'>;<.•'-'•
UTILIÍiA.-)££
.
• '•"''-'y-'
' A
y'-''
y
y.
•• yyy
• y'""
- í-
y
y-'
^ '
y
';yy,'^.
74
ANEXO
4
R E P E R T O R I O DE A L G U M A S S I G L A S E A C R Ô N I M O S M A I S U T I L I Z A D O S E M C O M P U T A Ç Ã O
ABNT
BOS
A S S O C I A Ç Ã O B R A S I L E I R A DE N O R M A S T É C N I C A S
BASIC O P E R A T I N G S Y S T E M
ACU
BPAM
AUTOMATIC CALLING UNIT
BASIC P A R T I T i O N A L ACCESS METHOD
ADP
BPI
A U T O M A T I C DATA P R O C E S S I N G
BIT P E R INCH
ALC
BPS
AUTOMATIC
LAST CARD
BASIC PROGRAMMING SUPPORT
ALGOL
BSAM
ALGORITHMIC-ORIENTED
LANGUAGE
BASIC S E Q U E N T I A L ACCESS METHOD
ALU
BTAM
A R I T H M E T I C LOGIC U N I T
BASIC TELECOMMUNICATION ACCESS METHOD
ANSI
ASA
CAI
A
CA
AN
N S
NTAATN
I ODNAARLD SS TAASNSDOACRI A
DT I O
I NNS T I T U T E
AM
ME
ER
R II C
COMPUTER ASSISTED INSTRUCTION
APR
A
SB
AU
LT
TO
ER
A
MN
AA
T ITCE SPATH
Y S I N RBEATTR
CY
H
CAW
ASCII
A M E R I C A N S T A N D A R D CODE F O R
INFORMATION
CHANNEL ADDRESS WORD
INTERCHANGE
CCB
BCD
ODE
COMMAND C O N T R O L B L O C K
B I N A R Y CODED DECIMAL
CONTENTS D I R E C T O R Y E N T R Y
CCH
BDAM
CHAP
CHANNEL - CHECK HANDLER
BASIC DIRECT ACCESS METHOD
BDW
BLOCK DESCRIPTOR WORD
BISAM
CHANGE DISPATCHING PRIORITY
CCW
CO
HB
AO
NLN E L C O M M A N D W O R D
C
COMMON B U S I N E S O R I E N T E D L A N G U A G E
COCR
BASIC I N D E X E D S E Q U E N T I A L ACCESS METHOD
CYLINDER O V E R F L O W CONTROL RECORD
BIT
B I N A R Y DIGIT
CODASYL
75
COM
DD
COMPUTER OUTPUT M I C R O F I L M
DATA
CP
DDR
COMMAND PROCESSOR
DYNAMIC DEVICE RECONFIGURATION
CP8
DEB
CHANNEL PROGRAM BLOCK
DATA E X T E N T B L O C K
CPD
DFT
C E N T R O DE P R O C E S S A M E N T O DE DADOS
DIAGNOSTIC F U N C T I O N T E S T
CPI
DOS
CHARACTERS P E R ' I N C H
DISK O P E R A T I O N S Y S T E M
DPC
CPM
DEFINITION
1 - CRITICAL PATH METHOD
DP
DATA PPRROOCCEESSSSIINNGG C E N T E R
DATA
2 - CARD PER MINUTE
CPS
DPRTY
CHARACTERS PER
DISPATCHING P R I O R I T Y
SECOND
CPU
DPS
C E N T R A L PROCESSING UNIT
DATA P R O C E S S I N G S Y S T E M
CRJE
DS
CONVERSATIONAL REMOTE JOB ENTRY
CRT
CATHODE R A Y T U B E
CSCB
COMMAND S C H E D U L I N G C O N T R O L B L O C K
DATA S E T
DSCB
DATA S E T C O N T R O L B L O C K
DSE
DATA S E T E X T E N S I O N
CSW
DSL
CHANNEL STATUS WORD
DATA S E T L A B E L
CVT
DSN
COMMUNICATION VECTOR T A B L E
Ver
DSNAME
DADSM
DSNAME
D I R E C T ACCESS D E V I C E S P A C E M A N A G E M E N T
DATA S E T N A M E
DAR
EBCDIC
DAMAGE ASSESSMENT ROUTINE
76
EDP
FD
ELECTRONIC DATA PROCESSING
FIELD
EDPM
FIFO
E L E C T R O N I C DATA P R O C E S S I N G M A C H I N E
FIRST-IN, FIRST-OUT
EOA
DEFINITION
FORTRAN
END O F A D D R E S S
FORMULA
EOB
TRANSLATION
FOSDIC
F I L M O P T I C A L S E N S I N G D E V I C E F O R INPUT TO
END O F B L O C K
COMPUTER
EOF
FPM
END OF F I L E
F I L E P R O T E C T MODE
EDM
FQE
END OF M E S S A G E
FREE QUEUE ELEMENT
EOV
FS
END O F V O L U M E
FILE SEPARATOR
ERP
GAM
ERROR RECOVERY PROCEDURE
EVS
G R A F I C ACCESS METHOD
ESD
E R R O R STATISTIC BY VOLUME
GDG
EXTERNAL SYMBOL
ETXR
G E N E R A T E DATA GROUP
DICTIONARY
END-OF-TASK E X I T ROUTINE
ESS
EVA
ELECTRONIC SWITCHING S Y S T E M
CDS
ERROR VOLUME ANALYSIS
CONFIGURATION
EXCP
IAS
GJP
DATA SET
EXECUTE CHANNEL PROGRAM
IMMEDIATE ACCESS STORAGE
EXEC
GRAPHIC J O B PROCESSOR
EXECUTE
IBG
GM
INTER B L O C K GAP
EXTRN
EXTERNAL REFERENCE
FBOE
FREE BLOCK QUEUE ELEMENT
BUSINESS MACHINES
CORPORATION
GPR
IC
G E N E R A L PURPOSE REGISTER
INSTRUCTION
COUNTER
ICA
FCB
FORM CONTROL
IBM
G
I NRTOEURPN AMTAI ORNKA L
BUFFER
INTERNATIONAL
COMMUNICATION ASSOCIATION
77
LE
I DP
I N T E G R A T E D DATA P R O C E S S I N G
LINKAGE EDITOR
IMS
LIFO
INFORMATION MANAGEMENT SYSTEM
LAST-IN, FIRST-OUT
INIT
LIOCS
INITIATOR
I/O
LOGICAL INPUT/OUTPUT CONTROL S Y S T E M
INPUT/OUTPUT
LLE
LP
lOB
LOAD L I S T E L E M E N T
LINEAR PROGRAMMING
INPUT/OUTPUT BLOCK
LPA
LINK PACK A R E A
IOCS
LPM
INPUT/OUTPUT CONTROL S Y S T E M
LINES PER MINUTE
IPL
LPSW
INITIAL PROGRAM LOADING
LOAD P R O G R A M S T A T U S W O R D
I RMS
INFORMATION R E T R I E V A L AND M A N A G E M E N T
LSGA
SYSTEM
LOCAL S Y S T E M Q U E U E A R E A
IS
INFORMATION SEPARATOR
LTPC
ISO
LOCAL TIME PSEUDO-CLOCK
INTERNATIONAL STANDARD
JCC
JOB CONTROL CARD
JCL
JOB CONTROL LANGUAGE
JCS
JOB CONTROL STATEMENT
JCT
JOB CONTROL T A B L E
JFCB
J O B FILE CONTROL BLOCK
LCB
ORGANIZATION
MAR
MEMORY ADDRESS REGISTER
MCAR
MACHINE C H E C K A N A L Y S I S A N D R E C O R D I N G
MCH
MACHINE-CHECK H A N D L E R
MCF
MAGNETIC CARD FILE
MCP
MACHINE C O N T R O L P R O G R A M
MCRR
MACHINE CHECK RECORDING AND R E C O V E R Y
78
POE
MICR
PARTITION QUEUE E L E M E N T
MAGNETIC INK CHARACTER
RECOGNITION
PRTY
MIS
PRIORITY
MANAGEMENT
INFORMATION SYSTEM
MODEIVI
PSA
PREFIXED STORAGE AREA
MODULATOR
DEMODULATOR
MPS
PSW
PROGRAM STATUS WORD
MULTIPROGRAMMING
SYSTEM
MVT
QCB
QUEUE CONTROL
MULTIPROGRAMMING
BLOCK
WITH A V A R I A B L E
N U M B E R OF T A S K S
QISAM
NIP
QUEUE INDEXED SEQUENTIAL ACCESS METHOD
NUCLEUS INITIALIZATION PROGRAM
QSAM
NL
NO L A B E L
NSL
QUEUE S E Q U E N T I A L ACCESS METHOD
NON S T A N D A R D
QTAM
LABEL
QUEUE TELECOMMUNICATION
GBR
OUTBOARD
RAM
RECORDER
RANDON ACCESS MEMORY
OCR
OPTICAL C H A R A C T E R
RECOGNITION
RAT
OLTEP
R E A D A C C E S S TIME
ONLINE TEST E X E C U T I V E PROGRAM
RB
OS
REQUEST BLOCK
OPERATING SYSTEM
RCT
PAX
REGION CONTROL T A S K
PRIVATE AUTOMATIC EXCHANGE
PCP
RDR
PRIMARY CONTROL
READER
PROGRAM
PDS
RDW
PARTITIONED DATA SET
RECORD DESCRIPTOR WORD
PID
RJE
PROGRAM INFORMATION
DEPARTAMENT
REMOTE JOB E N T R Y
ACCESS METHOD
79
SYSIN
RPG
REPORT PROGRAM GENERATOR
S Y S T E M INPUT
RS
RECORD SEPARATOR
SYSOUT
SEE
S Y S T E M OUTPUT
S E G M E N T C O N T R O L CODE
SYSRES
SCT
SYSTEM RESIDENCE (VOLUME)
STEP C O N T R O L
TABLE
TCAM
SDR
TELECOMMUNICATION ACCESS METHOD
STATISTICAL DATA
RECORDER
TCB
SDW
TASK CONTROL BLOCK
SEGMENT
WORD
DESCRIPTOR
TCU
SER
TRANSMISSION CONTROL UNIT
SYSTEM
ENVIRONMENT
RECORDING
TlOe
SIO
T E R M I N A L INPUT / O U T P U T C O O R D I N A T O R
START INPUT /
OUTPUT
TIOT
SIOT
TASK INPUT / OUTPUT T A B L E
STEP INPUT / OUTPUT
TABLE
TJID
SL
TERMINAL JOB IDENTIFICATION
STANDARD
LABEL
TMP
SMB
T E R M I N A L MONITOR PROGRAM
SYSTEM MESSAGE
BLOCK
TOD
SMF
T I M E OF D A Y
SYSTEM MANAGEMENT
FACILITIES
TOS
SPI
TAPE OPERATING S Y S T E M
SINGLE
PROGRAM
INITIATOR
TP
SPQE
TELEPROCESSING
SUB PULL QUEUE
ELEMENT
TQE
SQA
TIMER QUEUE ELEMENT
SYSTEM QUEUE
AREA
TSC
SUCESU
SOCIEDADE
DOS USUARIOS
EQUIPAMENTOS
SUL
DE C O M P U T A D O R E S
E
TIME S H A R I N G CONTROL TASK
SUBSIDIÁRIOS
TSCE
80
UADS
USER A T T R I B U T E DATA SET
UCB
UNIT C O N T R O L B L O C K
UCS
U N I V E R S A L CHARACTER SET
US
UNIT S E P A R A T O R
USASCII
Ver ASCII
USASI
U N I T E D S T A T E S OF A M E R I C A
INSTITUTE
USERID
USER IDENTIFICATION
VDU
V I S U A L DISPLAY UNIT
VM
VIRTUAL
MACHINE
VS
VIRTUAL
STORAGE
VTOC
V O L U M E T A B L E O F CONTENT
WPM
WORDS PER MINUTE
WTR
WRITER
STANDARDS
81
ABSTRACT
Basic concepts of the Operating System - O S . - are given we intend to give to the reader a general view
of the power and characteristics of the mentioned O S .
The O.S. characteristics are described briefly but enough to be understood and used.
AGRADECIMENTOS
- A o
Eng9
GIBAR
CÁCERES
AGUILERA.
Coordenador
Geral d o
C.P.D.
do
I.E.A.
apoio e pelo incentivo que sempre prestou no decorrer da preparação do presente
— À Sra. L Ú C I A
- À
F A R I A S I L V A , por ter sugerido e apoiado a publicação do
Srta. E L E N I C E
M A Z Z I L L I , pela revisão final do
— À Srta. O D E T T E
GUEDES,
pelo
trabalho.
trabalho.
trabalho.
por ter oferecido condições para a realização d o trabalho
bem
c o m o pelas sugestões a respeito d o c o n t e ú d o do mesmo.
- A g r a d e ç o de maneira especial à Srta.
foram
discutidos
muitos
VELENTINA
dos itens do trabalho
MONTIEL
FERNANDEZ,
e, principalmente,
pela valiosa
c o m a qual
colaboração
que prestou ao ler e sugerir alterações quanto à f o r m a e c o n t e ú d o do mesmo.
—A
todos
aqueles que, de uma
trabalho,
principalmente
publicação é o u t r o
REFERÊNCIAS
1.
ao
f o r m a o u de outra,
grupo
de
alunos
contribuíram
que
assistiram
para
ao
a realização deste
curso
do
qual
esta
resultado.
BIBLIOGRÁFICAS
FRANCO,R.S.
Sistema
operacional
OS-IBIVI/360:
conceitos
e
controle
de
sistema.
São
Paulo,
P R O D E S P , S e t . 1974.
2.
INTERNATIONAL
concepts
and
B U S I N E S S M A C H I N E S , Poughkeepsie, N Y
facilities.
8.ed.
Poughkeepsie,
N. Y ,
IBM system/360
J a n . 1971.
(File
n.
operating
S360-20,
system:
Order
n.
GC28-6535-8).
3.
4.
^. IBM system/360
operating system:
n. S 3 6 0 - 2 0 , Order n. G C 2 8 - 6 5 3 4 - 2 ) ,
. IBM
system/360
operating
system:
introduction.
3 e d . Poughkeepsie, N . Y , O c t , 1969. ( F i l e
\MFT
S . e d . Poughkeepsie, N . Y . , J u l y 1969. ( F i l e
guide.
n. S 3 6 0 - 3 6 , Order n. C27-6939-5).
5.
. IBM
system/360
operating
system:
MVT
guide. 4.ed. Poughkeepsie, N . Y . , J u n e . 1 9 7 1 . ( F i l e
n. S 3 6 0 - 3 6 , Order n. G C 2 8 - 6 7 2 0 - 3 ) .
6.
INTERNATIONAL
BUSINESS
E d u c a c i o n a l I B M , maio 1 9 7 1 .
MACHINES,
São
Paulo.
Sumário
de
O.S.
São
Paulo,
Centro