Вы находитесь на странице: 1из 20

ELE 1736 - Arquitetura de Computadores Prof.

Vincius

Application System/400

Arquitetura do IBM AS/400 Introduo


Histria O AS/400 (AS de Application System) a arquitetura empregada pela IBM para sistemas de tamanho mdio, onde no possvel se usar PCs e tambm no vivel a utilizao de mainframes. O AS/400 foi criado em 20 de Junho de 1988 para substituir a sua famlia System/3x. Na figura abaixo, vemos a histria do AS/400. Componentes do grupo: Leandro M. G. Ferreira Leonardo Pacheco Luiz Otvio C. Ribeiro 9216235-7 9114317-2 9215266-8

Como seus predecessores, o AS/400 um sistema multiusurio. Ao desenvolver o AS/400, foram utilizadas as caractersticas de facilidade de operao do System/36,

Application System/400

combinadas com o a arquitetura avanada e a produtividade do System/38 e novas funes. Por isto, muitos dos programas desenvolvidos para o System/36 e o System/38 podem ser migrados e usados nos sistemas AS/400 apenas aplicando as ferramentas de migrao disponveis. Nos ltimos anos, a IBM tem transformado o AS/400 de um sistema centrado em servidor para um sistema centrado em aplicaes. No primeiro, tm-se terminais burros conectados ao servidor, que tem todos os dados, programas, e o poder de execuo deles. J no segundo, os dados e os programas podem estar em sistemas separados, e a aplicao (que composta dos dados e do programa) pode executar em outro sistema, sendo estes sistemas de vrios 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 verso do poderoso banco de dados relacional DB/2 embutido em seu sistema operacional. O AS/400 tambm muito utilizado em redes de PCs, uma vez que existem componentes para lig-lo a praticamente qualquer outro sistema, de PCs a estaes RISC com UNIX. Famlia Quatro modelos constituem a famlia do AS/400: o Portable One, o 9402, o 9404 e o 9406. Cada modelo destes pode estar subdivido em submodelos. Com estes modelos, temos desde computadores que so do tamanho de uma pasta (Portable One) at minicomputadores. O poder destes modelos varia: no Portable One podemos ter de 1 a 3 usurios, de 1 a 2 Gb de disco, de 8 a 16 Mb de memria RAM e um mximo de 17.100 transaes por hora. J no 9406 modelo 320/2052 (o mais poderoso), podemos ter mais de 2000 usurios, at 260 Gb de disco, at 1536 Mb de RAM e quase 500.000 transaes por hora. Leia-se como nmero de transaes por hora, o nmero de pedidos por atividade de usurios. esquerda podemos ver algumas fotos de modelos AS/400. Temos desde o Portable One (encima direita) at o 9402 modelo 200 (embaixo esquerda). Temos tambm vrias opes de expanso, que vo de simples terminais, modems e impressoras at processadores criptogrficos, dispositivos de rede sem fio e expanses de disco (como no sistema 9406 mostrado na foto abaixo direita). Os modelos AS/400 mais avanados tem vrias caractersticas de segurana, como replicao de dados em

Application System/400

hardware (RAID-5), reparo concorrente (onde possvel o conserto de unidades de disco e at de fontes de alimentao com o sistema em uso), a opo de um processador criptogrfico, e outras (todas dentro do sistema).

Application System/400

Hardware (Nvel 0)
Organizao O AS/400 isola os usurios das caractersticas do hardware atravs de uma arquitetura de camadas. Vrios modelos da famlia AS/400 de computadores de mdio porte esto disponveis, entretanto um nico sistema operacional suporta toda a linha de produtos. Isto significa que programas podem ser rodados em qualquer sistema AS/400 e movidos entre sistemas sem qualquer modificao.
In te r fa c e d e M q u in a d e A l to N v e l
C d ig o I n te r n o

A mquina composta de 3 camadas, com uma interface de mquina de alto nvel separando o programador da implementao detalhada.

M ic r o p r o g r a m a o
C d ig o I n te r n o P a la v r a s d e C o n tr o le

H ardw are

Interface de Mquina (IM) A interface de mquina suportada pela camada superior do cdigo interno, que contm duas classes de suporte: funes do sistema operacional, como gerenciamento de armazenamento, gerenciamento de dados e suporte a entrada e sada (E/S); o tradutor, que converte instruses da IM para instrues do nvel da interface interna de microprogramao (IIMP). A traduo feita pelo tradutor anloga a um compilador otimizador. Instrues individuais de IM so convertidas em uma ou mais instrues de IIMP ou em chamadas a rotinas internas, que so conjuntos de instrues IIMP que realizam funes requisitadas. Assim como seu sistema operacional, o conjunto de instrues IM do AS/400 orientada a objetos.

Application System/400

Interface Interna de Microprogramao (IIMP) A IIMP suportada por uma segunda camada de cdigo interno que interpreta as instrues IIMP. A IIMP tambm consiste em dois tipos de suporte que distribui algumas das funes entre si. suporte s funes do sistema operacional, como gerenciamento de armazenamento, segurana, integridade do banco de dados, envio de tarefas, fila de tarefas e mensagens e processamento de E/S. Estas funes esto escritas em cdigo interno vertical (CIV). funes computao, desvio, e instrues IIMP estendidas, que so interpretadas pelo nvel inferior de microprogramao, chamado cdigo interno horizontal (CIH). A interpretao suportada por rotinas CIH consistindo de uma ou mais instrues CIH, chamadas palavras de controle. O processador do sistema diretamente decodifica e processa as palavras de controle do CIH. As instrues IIMP so um conjunto de instrues de registrador, armazenamento e desvio. Hardware do Sistema O hardware do sistema inclui o processador e armazenamento principal, dispositivos de entrada e sada e controladores, e os racks, cabos e conectores que compe o sistema AS/400. O projeto do hardware permite que componentes do sistema sejam espalhados pela organizao de forma a atender os requisitos do ambiente de trabalho. Componentes do sistema, como racks adicionais, controladores de E/S, dispositivos de armazenamento e estaes de trabalho, podem ser adicionados incrementalmente sem reconfigurar todo o sistema. Arquitetura do Barramento de E/S do Sistema O sistema AS/400 projetado em torno da arquitetura do barramento de E/S, que conecta os processadores de E/S ao processador do sistema. Um processador de E/S se comunica com o processador do sistema e controla os dispositivos ligados a ele. Cada processador de E/S deve ter o devido cdigo interno carregado para se comunicar com o programa OS/400. Controle do Barramento O barramento de E/S conecta o processador de servio, o processador do sistema e os processadores de E/S. Cada barramento tem um controlador de barramento, que controla a arbitragem e a deteco e correo de erros no barramento.

Application System/400

O S /40 0

P ro c es s ad o r d e S e rv i 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

C d ig o In te rn o P ro c e s s a d o r d o S is te m a BC U BC U BC U

M ic ro p ro c e s s a d o r BC U P ro c e s s a d o r C o n tro la d o r d e E /S

P ro c e s s a d o r C o n tr o la d o r d e E /S

P ro c e s s a d o r C o n tro la d o r d e E /S

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

Tap e

D is k W o r k s ta tio n W o r k s ta tio n W o r k s ta tio n

A arquitetura de entrada e sada do barramento prov capacidade de expanso futura para o sistema. Controladores e dispositivos adicionais de E/S so totalmente gerenciados pelo processador do sistema para o usurio final. Quando um novo controlador de E/S adicionado, ele indica sua presena quando o sistema iniciado, passando informaes vitais de auto-identificao. Se o controlador de E/S tem um adaptador ou dispositivo de E/S associado a ele, sua presena tambm indicada. Esta informao passada ao sistema operacional, que automaticamente inclui os dados vitais do novo equipamento tabela de recursos do sistema, durante a configurao automtica. A arquitetura do barramento de E/S permite ao usurio adicionar novos dispositivos processadores de E/S existentes sem interromper a operao do sistema. Mltiplos Caminhos A arquitetura de mltiplos caminhos de processador prov capacidade de expanso permitindo a adio de mltiplos processadores. Processadores adicionais so transparentes ao usurio porque eles gerenciam separadamente a carga dividindo o trabalho igualmente entre os mltiplos processadores. Se um processador falha durante a inicializao do sistema, o sistema automaticamente configurado sem o processador em falha. O projeto flexvel da arquitetura do barramento de E/S, junto com o projeto inovativo e distribuio de funo entre o processador de E/S e as instrues programadas, e o

Application System/400

processador do sistema, do ao usurio uma melhor performance ao mesmo tempo que permite a operao simultnea de muitos dispositivos. Arquitetura do Sistema A arquitetura do AS/400 distribui funes entre os elementos do sistema, incluindo como o sistema organiza o trabalho e informaes para facilitar as operaes.
Co m and o s d o O S /4 0 0 C o m p ila d o r e s e U ti il it r i o s A p lic a e s P ro g ra m a s

O S /4 0 0

C o n j u n to d e I n s t r u e s d a In te r fa c e d e M q u in a d e A lto N v e l
C d ig o I n te r n o H a rd w a re

M q u in a d e A lto N v e l

Com a interface de mquina proporcionada pelo cdigo interno, o AS/400 pode se adaptar facilmente a novas tecnologias de hardware e de software, sem tornar obsoletas as aplicaes existentes. Orientao a Objeto A arquitetura baseada em objetos da mquina fundamental para o projeto global de funes proporcionadas pelo AS/400. Cada tipo de objeto no AS/400 tem um propsito nico dentro do sistema. Cada um tem um conjunto de comandos associado, com o qual processa aquele tipo de objeto. A arquitetura orientada a objetos proporciona um ambiente comum para trabalho e tratamento de informao eficientes no sistema. Usando esta orientao a objetos, as instrues de interface de mquina podem tratar tudo de uma forma consistente. Cada objeto reconhecido pelo sistema por seu tipo, que determina como ele pode ser usado. Componentes complexos do sistema combinam diversos tipos de objetos primrios para criar objetos compostos. (Por exemplo, um comando complexo pode chamar um programa consistindo de diversos comandos simples.) Estes objetos compostos so construes geralmente invisveis ao usurio; eles so mais fceis de entender e controlar porque a complexidade tratada pelo sistema. Por exemplo, um arquivo fsico uma construo do usurio que formada por um espao de dados e, opcionalmente, um objeto ndice de espao de dados que permite acesso lgico aos registros armazenados no espao de dados. Combinando objetos primrios a integridade do sistema pode ser mantida, j que so utilizadas funes j testadas, e a performance do sistema pode ser melhorada pelo ajuste cuidadoso das funes mais utilizadas. Alguns objetos so embarcados com o sistema ou criados pelo OS/400. Estes incluem objetos como a descrio do subsistema para trabalho interativo e comunicaes, e descries de dispositivos criadas pelo sistema durante a configurao automtica dos dispositivos

Application System/400

detectados. O sistema usa os objetos para acompanhar operaes e gerenciar o trabalho submetido diretamente pelo usurio ou por aplicaes. O operador do sistema ou usurio pode gerenciar estes objetos atravs de programas e da linguagem de comandos (LC). Os usurios tambm 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 funes de gerenciamento de objetos proporcionadas pelo sistema ajudam o usurio a gerenciar estes objetos. Armazenamento O sistema usa o armazenamento como espao de trabalho para todas as tarefas requisitadas pelo usurio ou por programas. O gerenciamento do armazenamento realizado pelo sistema. Conforme as requisies so feitas, os objetos so movidos para o armazenamento principal. Armazenamento de Nvel nico O AS/400 um sistema de armazenamento compartilhado no qual todas as pores do armazenamento principal e auxiliar so endereados como se estivessem em uma nica rea (ou nvel). O sistema usa o nome do objeto para determinar onde ele existe no sistema. Isto quer dizer que o usurio pode identificar objetos pelo nome, ao invs de pelo local de armazenamento. Como as operaes no podem ser efetuadas em um objeto que no esteja no armazenamento principal, o sistema move parte ou todo o objeto para o armazenamento principal conforme necessrio, e move de volta para o armazenamento auxiliar quando ele no mais necessrio. Esta transferncia controlada pelo sistema e no requer controle pelo usurio ou programador. reas de Armazenamento Sendo o AS/400 um sistema capaz de multiprocessamento, o armazenamento principal deve estar sempre disponvel para processos que estejam rodando simultaneamente no sistema. Para reduzir a interferncia entre processos que estejam competindo por armazenamento principal e prevenir que um processo muito grande use muito do espao de armazenamento principal, o armazenamento principal pode ser subdividido para uso por diferentes grupos de processos. O armazenamento principal dividido em reas de armazenamento, que so segmentos lgicos do armazenamento principal. Quando o sistema recupera um objeto do armazenamento auxiliar para um processo, o objeto (ou uma parte do objeto que seja necessria) movido para a rea de armazenamento no armazenamento principal que foi atribuda ao processo que est executando. Armazenamento Principal: Uma rea de armazenamento prov uma quantidade restrita de armazenamento principal para processos que executem dentro daquela rea de armazenamento. Uma rea de armazenamento no necessariamente uma partio contgua de armazenamento principal. Ao contrrio, ela composta por blocos de 1024 bytes que esto disponveis para processos executando nela. Estes blocos podem estar em qualquer lugar no armazenamento principal.

Application System/400

10

O AS/400 reserva algum armazenamento principal para os objetos de controle do sistema que esto sempre presentes no sistema. Estes objetos no so paginados durante a operao do sistema. Este armazenamento alocado para o sistema quando este iniciado. Outras funes do sistema, no diretamente relacionadas com o controle do sistema, so paginados e usam uma rea de armazenamento que atribuda ao prprio sistema (rea da mquina). O OS/400 defina uma outra rea de armazenamento que automaticamente inclui todo o armazenamento principal que no atribudo a qualquer outra rea de armazenamento. Objetos Compartilhados: O compartilhamento de objetos por usurios individuais usando simultaneamente o sistema proporciona uso eficiente do armazenamento principal. Quando um objeto (como um programa ou arquivo de banco de dados) usado ao mesmo tempo por mais de um usurio do sistema, apenas uma cpia do objeto colocada no armazenamento principal, mesmo que diferentes usurio executem diferentes processos em reas de armazenamento diferentes. Qualquer nmero de usurios pode estar usando o objeto. O sistema sincroniza requisies de usurios conforme necessrio. Este compartilhamento de objetos reduz a quantidade de paginao feita pelo sistema e reduz a necessidade de grandes reas de armazenamento quando os usurios esto compartilhando um objeto. Gerenciamento armazenamento proporciona os armazenamento eficientemente. de Armazenamento: A maior parte das funes de gerenciamento de so executadas e controladas pelo sistema operacional. O OS/400 comandos necessrios para o programador determinar as reas de e atribuir processos a elas, para garantir que processos executem

Interface de Mquina de Alto Nvel (IMAN) Acesso s funes do sistema proporcionada por uma poderosa e consistente interface de mquina de alto nvel. O nvel da linguagem de mquina mais prximo das funes que um programador ou outro usurio normalmente executa. Por exemplo, instrues de mquina podem ser usadas para recuperar um registro de banco de dados, executar diversas tarefas de programao, tratar gerenciamento de armazenamento, e at pesquisar um arquivo de banco de dados. Em sistemas tradicionais, estas funes seriam tratadas por diversos programas. Uma mquina de alto nvel melhora a integridade e confiabilidade do sistema. Um programador escreve menos instrues para completar uma tarefa, e quanto menos instrues, menor o nmero de erros em potencial. Alm disso, devido ampla gama de funes disponveis na interface, uma mquina de alto nvel reduz o custo de desenvolvimento para sistemas operacionais, linguagens e utilitrios. As funes disponveis incluem: Funes de Linguagem de Programao: Aqui esto includas converses de tipos, alocao de armazenamento, gerenciamento de procedimentos e primitivas de programao embutidas. Depurao de Programas Simblicos: O programador pode incorporar pontos de parada no cdigo-fonte. O programa pode ser executado em modo de depurao, parando nos pontos de parada para permitir ao programador testar os valores de variveis e campos. Esta operao pode ser feita independentemente de outros usurios no sistema, mesmo aqueles

Application System/400

11

que possam estar utilizando os programas ou arquivos ao mesmo tempo. Funes de Superviso ou Controle: Estas permitem que vrias linguagens de alto nvel sejam utilizadas para produzir uma aplicao. Por exemplo, as rotinas de entrada de dados podem ser escritas em COBOL e as de manipulao de dados em Pascal. O fluxo entre o controle pelas aplicaes e o controle pelas funes do sistema poderia ser gerenciado pela linguagem de controle do OS/400. Funes de Gerenciamento de Dados: As funes usadas pela maior parte dos programas para acessar e manipular dados incluem declarar, apagar, recuperar, agrupar e corrigir, assim como suporte a dicionrio de dados. O dicionrio de dados, que pode ser acessado por todos os programas, contem informaes sobre os dados como significado, relao com outros dados, origem, uso e formato.

Application System/400

12

Linguagem de Mquina (Nvel 1)


Apresentao O AS/400 foi projetado para ser uma mquina de alto nvel, de fcil uso e programao. Foi projetado tambm para ser independente de tecnologia, permitindo o porte de seu sistema operacional e aplicativos existentes para qualquer mquina da famlia, independentemente do processador e de mudanas na arquitetura de hardware. Este objetivo foi alcanado atravs de uma interface de mquina de alto nvel. Esta interface esconde todo o hardware que h por trs dela e disponibiliza pros usurios e programadores uma mquina virtual com instrues de mquina de alto nvel. Estas instrues so o nvel mais baixo que se consegue atingir em programao no AS/400, caracterizando-se como sua linguagem de mquina. No h, portanto, uma linguagem de mquina no AS/400 como a que encontramos em outras plataformas. As instrues da mquina de alto nvel so de nvel elevadssimo, orientadas a objeto, com instrues poderosas que somente podem ser aplicadas aos objetos corretos (fortemente tipada). Outra consequncia do projeto peculiar do AS/400 a dificuldade de se obter documentao sobre sua linguagem de mquina, j que dificilmente se programa em nvel to baixo nesta plataforma. Nosso grupo conseguiu um guia de referncia com todas as instrues da mquina de alto nvel, e o principal da informao obtida exposto nos prximos tpicos, mas a informao no era detalhada e alguns tpicos ficaram obscuros. Tipos de Operandos Cada instruo precisa de zero a quatro operandos. Cada operando pode consistir de um ou mais campos que contm um operando nulo, um valor imediato de dado ou uma referncia a um objeto ODT. O tamanho do operando depende da verso do gabarito de programa. Se o nmero da verso 0, o tamanho do cammpo de operando 2 bytes. Se o nmero de verso 1, o tamanho do campo de operando 3 bytes. Operandos Nulos Certas instrues permitem que certos operandos sejam nulos. Em geral, um operando nulo significa que alguma funo opcional da instruo no deve ser realizada, ou que uma ao default deve ser executada pela instruo. Operandos Imediatos O valor deste tipo de operando est codificado no operando de instruo. Operando imediatos podem assumir os seguintes valores: binrio com sinal representando um valor binrio de -4096 a 4095. binrio sem sinal representando um valor binrio de 0 a 8191. byte representando um nico byte, com valor de 0x00 a 0xFF.

Application System/400

13

nmero de instruo absoluto representando um nmero de instruo na faixa de 1 a 8191. nmero de instruo relativo representando um deslocamento de uma instruo em relao a instruo em que operando aparece. Este valor de operando pode identificar um deslocamento de instruo de -4096 a 4095. Referncias a Objetos ODT Este tipo de operando contem uma referencia (possivelmente qualificada) para um objeto na ODT. Operandos que sejam referncias a objetos ODT podem ser operandos simples ou operandos compostos. Operando Simples O valor codificado no operando referncia um objeto especfico definido na ODT. Operandos simples consistem em um nico operando de 2 bytes. Operandos Compostos Um operando composto consiste em um operando primrio (2 bytes) e uma srie de uma a trs operandos secundrios. O operando primrio uma referncia ODT para o objeto base, enquanto que os operandos secundrios servem como qualificadores para o objeto base. Um operando composto pode ter os seguintes usos: Referncia a subscript Um elemento individual de um array de objetos de dados, um array de ponteiros, ou uma lista de definio de instrues podem ser refernciados por um subscript em um operando composto. O operando consiste em uma referncia primria ao array e um operando secundrio para especificar o valor de ndice para um elemento do array. Referncia a substring Uma poro de um objeto de dados caracter pode ser referenciado como um operando de instruo atravs de um operando composto de substring. O operando consiste de um operando primrio para referenciar o objeto string base e referncias secundrias para especificar o valor de um ndice (posio) e o valor de um comprimento pra substring. Referncias de base explcitas Um operando de instruo pode especificar uma sobrecarga explcita para o ponteiro de base para um objeto de dados com base ou um objeto de endereamento com base. O operando consiste em um operando primrio referenciando o objeto com base e um operando secundrio referenciando o ponteiro no qual basear o objeto para este operando. O deslocamento implcito na definio na ODT do operando primrio e a endereabilidade contida no ponteiro explcito so combinados para determinar um endereo para o operando. A base explcita pode ser combinada com o operador composto de subscript ou de substring para determinar um operando composto de subscript ou de substring com base.

Application System/400

14

Grupos de Instrues Funes Bsicas Instrues de Computao e Desvio Instrues de Dia, Hora e Timestamp Instrues de Endereamento de Ponteiros e Resoluo de Nomes Instrues de Endereamento de Espao Instrues de Gerenciamento de Espao Instrues de Gerenciamento de Heap Instrues de Gerenciamento de Programas Instrues de Execuo de Programas Instrues de Controle de Criao de Programas Instrues de ndice Independente Instrues de Gerenciamento de Fila Instrues de Gerenciamento de Trancamento de Objetos Instrues de Gerenciamento de Excees Instrues de Gerenciamento de Espao de Fila

Funes Estendidas Instrues de Gerenciamento de Contexto Instrues de Gerenciamento de Autorizao Instrues de Gerenciamento de Processos Instrues de Gerenciamento de Recursos Instrues de Gerenciamento de Espao de Dump Instrues de Observao de Mquina Instrues de Funes de Suporte de Interface de Mquina

Interface de Suporte Instrues Especificao de Excees

Application System/400

15

Sistema Operacional
Descrio O AS/400 possui um sistema operacional proprietrio, denominado Operational System/400 (geralmente chamado de OS/400). O OS/400 possui funes integradas que possuem multiprogramao, sistemas interativos e batch. Isto inclui gerenciamento de banco de dados (inclui o DB/2), manuteno de access paths, codificao para read-only, gerenciamento de workstation, control language, dados descritos externamente, programa de desenvolvimento on-line, gerenciamento de tarefas, segurana, auxlio na recuperao de dados, mensagens, comunicao de dados remota, funes distribudas de escritrio, etc. Por ser um sistema proprietrio, o OS/400 praticamente complementa a LIC (linguagem de mquina do AS/400). Com isto, a linguagem de mquina fica invisvel ao programador, que s tem acesso API do OS/400. Por este motivo, a LIC no difundida pela IBM. Isto diferencia o AS/400 de outros sistemas tradicionais, onde o programador trabalha na linguagem de mquina do sistema. Apesar do OS/400 ser um sistema operacional simples de se usar, ele tem muitas funes e caractersticas complexas, entre elas: suporte banco de dados: existe um DB/2 embutido na arquitetura do OS/400. suporte comunicaes: as facilidades embutidas no OS/400 permitem a um AS/400 bem equipado se comunicar com estaes de trabalho remotas (em LANs ou WANs), com PCs, System/390, System/3x, Macintosh e outros AS/400. Em todos estes casos, existe uma grande variedade de protocolos que podem ser usados. Existem tambm algumas extenses do OS/400, que permitem a participao em ambientes de rede OSI, TCP/IP, e outras. interoperabilidade baseada em padres abertos: suporte a padres como o SQL ANSI, o Distributed Relational Database Architecture (DRDA) da IBM, o Open Database Connection (ODBC) da Microsoft, e a Data Access Language, da Apple. portabilidade com UNIX/C: o AS/400 suporta 70 por cento da POSIX 1003.1 API, junto com soquetes BSD, TCP/IP e UNIX Spec 1170. Isto e mais algumas outras caractersticas fazem com que quase todas as aplicaes UNIX/AIX sejam portveis para o AS/400. compatibilidade com System/3x: quase todos os programas escritos para o System/36 e o System/38 podem ser migrados para o AS/400 com pouca ou at nenhuma modificao.. Isto conseguido pois o OS/400 tem mltiplas APIs: a nativa AS/400, a API System/38 e a API System/36. Como o AS/400 baseado no System/38, os programas deste podem ser rodados quase sem perda de performance no AS/400. J no caso do System/36, h uma reduo de performance.

Application System/400

16

Estrutura Na memria do AS/400, so armazenados objetos, que podem ser de vrios tipos diferentes, entre eles classes, comandos, dispositivos, arquivos e programas. Cada objeto tem dois componentes: descrio e parte funcional. Na descrio, temos atributos como nome, biblioteca, tipo, atributos, datas de alterao, tamanho, etc. Na parte funcional, temos os membros de arquivos fsicos (registros de dados), os membros de arquivos lgicos (access paths) e o cdigo do programa. Existem tambm bibliotecas, que so meios de organizar os objetos. Os objetos no podem ter um mesmo nome e tipo em uma biblioteca, eles devem ser nicos. Resumindo, as bibliotecas so espcies de diretrios. Uma biblioteca contm o nome, o tipo e o endero do objeto (que gerenciado pelo sistema e transparente para o usurio). Vale notar que as prprias bibliotecas so objetos, que residem numa biblioteca especial denominada QSYS. Alm da QSYS, existe uma outra biblioteca do sistema, denominada QGPL, que uma biblioteca de uso genrico, que contm filas de spool, arquivos de programas fonte, etc. Estas bibliotecas no podem ser deletadas ou renomeadas e pertencem ao administrador do sistema. J no caso de bibliotecas de usurio, existem dois tipos: de produo (default) e de teste (para ambiente de testes). O OS/400 possui vrios objetos que trabalham juntos para processar informaes de jobs, como mostrado na figura abaixo.
SYSTEM OS/400 VALUES NETWORK ATTRIBUTES

SUBSISTEMA

SBSD

JOB

WORK ENTRIES ROUTING ENTRIES

JOBD

CLASS PROGRAMAS

Um
POOLS

subsistema um ambiente especializado para tratamento de funes. Eles podem ser desenhados para tratar, de modo eficiente, tipos especficos de tarefas, podendo existir vrios em funcionamento ao mesmo tempo. Os jobs devem ser executados em subsistemas. Pools de Memria so reas lgicas da memria principal onde os jobs so executados. Eles podem ser de dois tipos: shared ou private, onde no primeiro, vrios subsistemas podem ter acesso, enquanto no segundo apenas um subsistema pode acess-lo.

Application System/400

17

Um ponto importante que, no caso do OS/400, a paginao restrita pool. Existem 3 pools principais. So eles: *MACHINE: pool de memria utilizada pelas rotinas dp microcdigo e funes do OS/400. Nenhum job de usurio executado neste pool. sempre o pool #1. *BASE: contm toda a memria principal que no est sendo alocada. Qualquer subsistema pode utiliz-lo. sempre o pool #2. *INTERACT: utilizado por jobs interativos. Quando o tamanho de um pool qualquer aumentado, a memria adicional tirada de *BASE. Quando diminudo, esta memria retorna a *BASE. Jobs so as unidades bsicas de processamento no OS/400 (equivalente ao que costumamos chamar de processos). Existem vrios tipos de jobs, separados entre jobs do sistema e do usurio. Entre os de usurio podemos ter, por exemplo, jobs interativos, batch, de comunicao, etc. Os jobs batch utilizam um subsistema j definido no OS/400, que o QBATCH. Existem comandos que permitem o redirecionamento de jobs, podendo ser trocado seu pool, sua classe e at seu subsistema. Gerenciamento de memria O OS/400 trata todos os pedidos de I/O com uma simples instruo de mquina: Performing Page Request (PPR). O nmero de pginas transmitidas so determinadas pela funo de request. Sempre que o sistema reconhece que um arquivo de dados est sendo processado na ordem de chegada, as tarefas de I/O iro automaticamente preencher um segundo buffer de registro. Este processo conhecido como um Adaptative Look Ahead Bring. Na paginao, os programas so trazidos para a memria principal em segmentos de 4Kb, onde o movimento de um segmento para outro causa um page fault.

Application System/400

18

Linguagens de Programao e Banco de Dados


Como o prprio nome sugere ( Application System/400 ), o AS/400 um sistema voltado para o desenvolvimento de aplicativos, que visa, atravs de suas funcionalidades como a arquitetura baseada em objetos do sistema OS/400, o banco de dados prprio do sistema e o armazenamento em nico nvel de memria, aumentar a produtividade do programador de aplicativos. O sistema AS/400 prov uma extensa variedade de ferramentas e linguagens de programao para auxiliar o desenvolvimento de aplicativos. Com o AS/400, o programador pode escolher entre as seguintes linguagens de programao e usar os comandos de CL para chamar funes de sistemas e ligar os vrios programas: 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 usurio e o sistema operacional OS/400. Um programa em CL constituido por uma srie 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 funes. Estes comandos so compilados em um programa que pode ser chamado sempre que as funes por ele definidas forem necessrias. As vantagens do uso de programas CL incluem: O usurio que roda o programa no precisa digitar os comandos CL individualmente. Usar programas CL mais rpido que digitar e rodar os comandos individualmente, porque os comandos esto compilados e armazenados de tal forma que podem ser executados imediatamente. Programas CL podem executar diversas funes dependendo dos parmetros utilizados. Alguns comandos CL no podem ser executados individualmente, precisando fazer parte de um programa CL. Programas CL podem ser testados e debugados como programas de outras linguagens de alto nvel.

Application System/400

19

Programas CL podem ser usados para diversos tipos de aplicativos. Por exemplo, eles podem ser utilizados para: Prover uma interface para o usurio de um aplicativo interativo. Isto permite ao usurio requisitar funes ao aplicativo sem entender os comandos usados pelo programa. Prover procedimentos pr-definidos para funes constantemente utilizadas, como procedimentos de inicializao de subsistemas, cpias de backup de arquivos e outras. Isto reduz o nmero de comandos usados frequentemente e garante a consistncia dessas funes. Alm dos prprios comandos CL, os programas CL utilizam funes que no esto disponveis quando os comandos so executados individualmente. Estas incluem: Funes de controle do tipo if then else. Operaes sobre dados Uso de variveis e parmetros para passagem de informaes entre comandos em um programa e entre programas Programas em CL provm a flexibilidade necessria para possibilitar ao usurio escolher as operaes que ele deseja executar e rodar os programas necessrios para isto. Procedures Language 400/REXX: REXX uma implementao para o AS/400 da linguagem procedural SAA (Systems Application Architecture),que um ambiente no qual programas so desenvolvidos de modo a executar consistentemente na maioria dos sistemas computacionais da IBM. Os ambientes SAA so o MVS, VM (CMS), o OS/400 e o OS/2. REXX oferece funes poderosas de manipulao de strings, extensa capacidade matemtica e a possibilidade de executar comandos em ambientes fora do REXX.. Isto possibilita que comandos CL sejam executados de dentro do REXX. Ela uma linguagem interpretada e no compilada. Como resultado, programas REXX podem ser escritos,testados e colocados em produo mais rapidamente que o normal em linguagens compiladas. Entretanto, programas REXX podem no rodar to rpido quanto um equivalente compilado. Banco de Dados O AS/400 possui um banco de dados DB2/400 integrado ao sistema operacional. O que diferencia o sistema AS/400 dos sistemas tradicionais neste aspecto o fato do banco de dados estar integrado ao sistema operacional OS/400 e ao nvel de linguagem de mquina (Licensed Internal Code). No h necessidade de se instalar um gerenciador de banco de dados separado. O banco de dados integrado possui vantagens de produtividade e processamento automtico em relao aos sistemas tradicionais. Alm disto,o AS/400 disponibiliza funes de DRDA ( Distributed Relational Database Architecture) permitindo acesso ao banco de dados distribudo.

Application System/400

20

Bibliografia:
Manuais da IBM AS/400 System Concepts - Version 2 AS/400 System Introduction - Version 2 AS/400 Machine Interface Functional Reference AS/400 Languages: Integrated Language Environment - Concepts - Version 2 AS/400 Application Development By Examples - Version 2 Livros AS/400 Architecture & Application Jill T. Lawrence - QED Publishing Group IBM AS/400 - A Business Perspective Jim Hoskins - John Wiley & Sons Apostilas do Centro Educacional da IBM Brasil AS01 - Conceitos e Recursos AS23 - OS/400 Estrutura e Controles Bsicos AS20 - AS/400 Control Language Outros Foram consultadas algumas pginas na Internet no site da IBM em Rochester, MN Foi consultada uma revenda AS/400 no Rio de Janeiro

Вам также может понравиться