As 400
As 400
As 400
Prof. Vinícius
Componentes do grupo:
Introdução
História
O AS/400 (AS de Application System) é a arquitetura empregada pela IBM para sistemas
de tamanho médio, onde não é possível se usar PC’s e também não é viável a utilização de
mainframes. O AS/400 foi criado em 20 de Junho de 1988 para substituir a sua família
System/3x. Na figura abaixo, vemos a história do AS/400.
vários fabricantes diferentes. Por este motivo, hoje o AS/400 é muito utilizado como servidor de
bancos de dados, utilizando a filosofia cliente-servidor. Uma outra vantagem para utilizar o
AS/400 como servidor de bancos de dados é que ele já vem com uma versão do poderoso banco
de dados relacional DB/2 embutido em seu sistema operacional. O AS/400 também é muito
utilizado em redes de PC’s, uma vez que existem componentes para ligá-lo a praticamente
qualquer outro sistema, de PC’s a estações RISC com UNIX.
Família
Hardware (Nível 0)
Organização
C ó d ig o I n t e r n o
P a l a v r a s d e C o n t r o le
H a rd w a re
A interface de máquina é suportada pela camada superior do código interno, que contém
duas classes de suporte:
A IIMP é suportada por uma segunda camada de código interno que interpreta as
instruções IIMP. A IIMP também consiste em dois tipos de suporte que distribui algumas das
funções entre si.
• funções computação, desvio, e instruções IIMP estendidas, que são interpretadas pelo
nível inferior de microprogramação, chamado código interno horizontal (CIH). A
interpretação é suportada por rotinas CIH consistindo de uma ou mais instruções CIH,
chamadas palavras de controle. O processador do sistema diretamente decodifica e
processa as palavras de controle do CIH. As instruções IIMP são um conjunto de
instruções de registrador, armazenamento e desvio.
Hardware do Sistema
Controle do Barramento
P ro c e s s a d o r d e
O S /4 0 0
S e rv iç o
C ó d i g o I n te r n o C lo c k D a d o s V ita is
C o m m u n ic a tio n s P o r t
P ro c e s s a d o r d o
M ic ro p ro c e s s a d o r
S is te m a
P ro ces sad o r
C o n tro la d o r d e
BCU BCU BCU BCU E /S
P ro c e s s a d o r P ro ces sad o r
C o n tro la d o r d e C o n tro la d o r d e
E /S E /S
Tape D is k
B a r r a m e n to d e E /S 1
B a r r a m e n to d e E /S N W o r k s ta tio n
W o r k s t a ti o n W o r k s ta ti o n
Múltiplos Caminhos
do sistema, dão ao usuário uma melhor performance ao mesmo tempo que permite a operação
simultânea de muitos dispositivos.
Arquitetura do Sistema
O S /4 0 0
C o n ju n t o d e In s t ru ç õ e s d a
In t e rf a c e d e M á q u in a d e A lto N ív e l
M á q u in a d e
A lto N ív e l
C ó d ig o I n t e r n o
H a rd w a re
Com a interface de máquina proporcionada pelo código interno, o AS/400 pode se adaptar
facilmente a novas tecnologias de hardware e de software, sem tornar obsoletas as aplicações
existentes.
Orientação a Objeto
diretamente pelo usuário ou por aplicações. O operador do sistema ou usuário pode gerenciar
estes objetos através de programas e da linguagem de comandos (LC).
Os usuários também podem criar objetos para auxiliar no gerenciamento de seu trabalho
no sistema. Estes incluem bibliotecas para organizar arquivos, programas para manipular estes
arquivos, e até verificadores de ortografia personalizados. As funções de gerenciamento de
objetos proporcionadas pelo sistema ajudam o usuário a gerenciar estes objetos.
Armazenamento
Áreas de Armazenamento
de armazenamento que é atribuída ao próprio sistema (área da máquina). O OS/400 defina uma
outra área de armazenamento que automaticamente inclui todo o armazenamento principal que
não é atribuído a qualquer outra área de armazenamento.
Funções de Supervisão ou Controle: Estas permitem que várias linguagens de alto nível sejam
utilizadas para produzir uma aplicação. Por exemplo, as rotinas de entrada de dados podem ser
escritas em COBOL e as de manipulação de dados em Pascal. O fluxo entre o controle pelas
aplicações e o controle pelas funções do sistema poderia ser gerenciado pela linguagem de
controle do OS/400.
Application System/400 10
Funções de Gerenciamento de Dados: As funções usadas pela maior parte dos programas para
acessar e manipular dados incluem declarar, apagar, recuperar, agrupar e corrigir, assim como
suporte a dicionário de dados. O dicionário de dados, que pode ser acessado por todos os
programas, contem informações sobre os dados como significado, relação com outros dados,
origem, uso e formato.
Application System/400 11
Apresentação
O AS/400 foi projetado para ser uma máquina de alto nível, de fácil uso e programação.
Foi projetado também para ser independente de tecnologia, permitindo o porte de seu sistema
operacional e aplicativos existentes para qualquer máquina da família, independentemente do
processador e de mudanças na arquitetura de hardware.
Este objetivo foi alcançado através de uma interface de máquina de alto nível. Esta
interface esconde todo o hardware que há por trás dela e disponibiliza pros usuários e
programadores uma “máquina virtual” com instruções de máquina de alto nível. Estas instruções
são o nível mais baixo que se consegue atingir em programação no AS/400, caracterizando-se
como sua “linguagem de máquina”.
Não há, portanto, uma linguagem de máquina no AS/400 como a que encontramos em
outras plataformas. As instruções da máquina de alto nível são de nível elevadíssimo, orientadas
a objeto, com instruções poderosas que somente podem ser aplicadas aos objetos corretos
(fortemente tipada).
Outra consequência do projeto peculiar do AS/400 é a dificuldade de se obter
documentação sobre sua “linguagem de máquina”, já que dificilmente se programa em nível tão
baixo nesta plataforma. Nosso grupo conseguiu um guia de referência com todas as instruções da
máquina de alto nível, e o principal da informação obtida é exposto nos próximos tópicos, mas a
informação não era detalhada e alguns tópicos ficaram obscuros.
Tipos de Operandos
Cada instrução precisa de zero a quatro operandos. Cada operando pode consistir de um
ou mais campos que contém um operando nulo, um valor imediato de dado ou uma referência a
um objeto ODT. O tamanho do operando depende da versão do gabarito de programa. Se o
número da versão é 0, o tamanho do cammpo de operando é 2 bytes. Se o número de versão é 1,
o tamanho do campo de operando é 3 bytes.
Operandos Nulos
Certas instruções permitem que certos operandos sejam nulos. Em geral, um operando
nulo significa que alguma função opcional da instrução não deve ser realizada, ou que uma ação
default deve ser executada pela instrução.
Operandos Imediatos
Este tipo de operando contem uma referencia (possivelmente qualificada) para um objeto
na ODT. Operandos que sejam referências a objetos ODT podem ser operandos simples ou
operandos compostos.
Operando Simples
Operandos Compostos
Grupos de Instruções
Funções Básicas
Funções Estendidas
• Especificação de Exceções
Application System/400 14
Sistema Operacional
Descrição
Estrutura
Na memória do AS/400, são armazenados objetos, que podem ser de vários tipos
diferentes, entre eles classes, comandos, dispositivos, arquivos e programas. Cada objeto tem
dois componentes: descrição e parte funcional. Na descrição, temos atributos como nome,
biblioteca, tipo, atributos, datas de alteração, tamanho, etc. Na parte funcional, temos os
membros de arquivos físicos (registros de dados), os membros de arquivos lógicos (access paths)
e o código do programa.
Existem também bibliotecas, que são meios de organizar os objetos. Os objetos não
podem ter um mesmo nome e tipo em uma biblioteca, eles devem ser únicos. Resumindo, as
bibliotecas são espécies de diretórios. Uma biblioteca contém o nome, o tipo e o enderço do
objeto (que é gerenciado pelo sistema e transparente para o usuário). Vale notar que as próprias
bibliotecas são objetos, que residem numa biblioteca especial denominada QSYS. Além da
QSYS, existe uma outra biblioteca do sistema, denominada QGPL, que é uma biblioteca de uso
genérico, que contém filas de spool, arquivos de programas fonte, etc. Estas bibliotecas não
podem ser deletadas ou renomeadas e pertencem ao administrador do sistema. Já no caso de
bibliotecas de usuário, existem dois tipos: de produção (default) e de teste (para ambiente de
testes).
O OS/400 possui vários objetos que trabalham juntos para processar informações de jobs,
como mostrado na figura abaixo.
SYSTEM NETWORK
OS/400
VALUES ATTRIBUTES
SUBSISTEMA SBSD
WORK JOBD
JOB ENTRIES
ROUTING CLASS
ENTRIES
PROGRAMAS
POOLS
Gerenciamento de memória
O OS/400 trata todos os pedidos de I/O com uma simples instrução de máquina:
Performing Page Request (PPR). O número de páginas transmitidas são determinadas pela
função de request. Sempre que o sistema reconhece que um arquivo de dados está sendo
processado na ordem de chegada, as tarefas de I/O irão automaticamente preencher um segundo
buffer de registro. Este processo é conhecido como um Adaptative Look Ahead Bring.
Na paginação, os programas são trazidos para a memória principal em segmentos de 4Kb,
onde o movimento de um segmento para outro causa um page fault.
Application System/400 17
AS/400 BASIC
AS/400 Pascal
AS/400 PL/I
C/400
COBOL/400
RM/COBOL-85
FORTRAN/400
Procedures Language 400/REXX
RPG/400
Programas CL: A CL (Control Language) é uma linguagem de controle que atua como
interface entre o usuário e o sistema operacional OS/400. Um programa em CL é constituido por
uma série de comandos CL. Estes podem criar, abrir, copiar ou apagar arquivos, criar libraries,
criar arquivos de banco de dados ou outros objetos e muitas outras funções. Estes comandos são
compilados em um programa que pode ser chamado sempre que as funções por ele definidas
forem necessárias. As vantagens do uso de programas CL incluem:
Programas CL podem ser usados para diversos tipos de aplicativos. Por exemplo, eles
podem ser utilizados para:
Além dos próprios comandos CL, os programas CL utilizam funções que não estão
disponíveis quando os comandos são executados individualmente. Estas incluem:
Banco de Dados
Bibliografia:
Manuais da IBM
Livros
Outros