MVS/ESA
Open Edition: O Sistema Operacional mais Aberto do Mercado
Autora: Sonia Naomi
Yabiku
Para muitos deve soar
estranho, senão fora de moda, ouvir ou ler alguma coisa de mainframe
nos dias de hoje. Atualmente o que todos buscam saber, em termos
de sistemas operacionais, é sobre UNIX, WINDOWS NT, WINDOWS/95,
OS/2 WARP ...
De qualquer modo, resolvi
arriscar este assunto porque acredito que muitos não sabem que hoje
temos um ambiente UNIX no mainframe, aderente ao POSIX da IEEE e
ao XPG4 e XPG4.2 da X/Open, ou seja, um UNIX certificado por organismos
internacionais de padronização. O que significa isto, afinal de
contas? Este é o objetivo deste artigo.
No decorrer da década
de 80, a idéia de Sistemas Abertos foi amadurecendo. Usuários e
fornecedores foram constatando que, aderindo a certos padrões de
hardware, software e interfaces de comunicação, a compra, conexão
e utilização de computadores se tornaria bem mais fácil. A idéia
de padronização foi ganhando força, principalmente devido ao padrão
"de fato" instaurado pela IBM com seu PC, aliado com o
sistema operacional da Microsoft MS-DOS (proprietário), que mostrou
o quão bem a idéia poderia funcionar. Com a padronização do PC a
competitividade entre fornecedores se acirrou, o que causou queda
nos preços e disponibilizou aos usuários centenas de máquinas compatíveis.
Com o PC padrão, se não gostarmos do fabricante, temos uma série
de outras opções sem termos que nos preocupar com o investimento
efetuado em software. E se não gostarmos de um software que compramos,
podemos trocá-lo sem ter que mexer no hardware.
Se funcionou tão bem
para os PC´s, por que não para qualquer computador. A idéia continua
sendo ótima, mas ainda temos um longo e espinhoso caminho a percorrer
antes que isso se transforme em realidade. Digo espinhoso porque
além da diversidade de opiniões sobre o que significa sistema aberto,
de repente estamos sendo bombardeados com tantos padrões e sopinhas
de letras (POSIX, XPG3, XPG4, OSI, TCP/IP, SNA, LU6.2, TOKEN-RING,
ATM, SVID, AES, MOTIF, XWINDOWS, OPENLOOK, DCE, BSD, DRDA ...) que
ficou difícil saber, além de entender, em qual padrão apostar, qual
padrão irá prevalecer, visto que a definição de padrões é, muitas
vezes, uma questão política de fabricantes, cada um puxando a brasa
para a sua sardinha. Enfim, além de se ter a definição de um padrão,
é preciso que os fabricantes de hardware e software os adotem para
que o usuário possa realmente usufruir as vantagens da padronização.
O Unix, como muitos já
sabem, de sistema operacional padrão de engenheiros e programadores,
entrou na área comercial e começou a virar sinônimo de sistema aberto.
Mas sabemos, também, que a interoperabilidade e a portabilidade
de aplicações, pré-requisitos de um sistema aberto, não é tão transparente
assim, uma vez que hoje temos Unix de diversos sabores: Xenix, Ultrix,
Dynix, Aix, Aux, Berkeley 4.0, System 5 ... Daí os esforços dos
organismos de padronização em definir interfaces, ou pontos de conexão
entre máquinas ou entre o hardware e o software, padrão, de forma
a oferecer aos usuários os benefícios da padronização e ao mesmo
tempo permitir aos fabricantes uma liberdade de ação até o ponto
da interface.
A IBM, como outros fabricantes,
para não ficar de fora da nova onda, implementou no seu sistema
operacional de mainframe uma espécie de "servidor" Unix,
mas um Unix aderente ao POSIX da IEEE e agora com o certificado
XPG4 e XPG4.2 da X/Open, um organismo independente que congrega
fabricantes e usuários dos EUA e Europa, e uma variedade de organismos
internacionais de padronização como por exemplo a OSF e a UI (Unix
International).
Este "ambiente"
no MVS foi denominado Open Edition, e o que temos são implementações
de API´s, SHELL´s, sockets, utilitários, suporte à terminais ASCII,
suporte à linguagem C/C++, de maneira que o programador de aplicações
C e o usuário final trabalham no mainframe como se estivessem trabalhando
no Unix.

Foram implementadas as
especificações das API´s (Application Programming Interface) do
POSIX 1003.1, 1003.1a, 1003.1c e 1003.4a, e as especificações das
funções Unix do XPG4 e XPG4.2 (API´s, Unix shell interface, sockets),
conjuntamente com o HFS (Hierarchical File System - Estrutura de
arquivos hierárquica similar a de um winchester de RISC, com diretórios
e subdiretórios), que traduzindo para "Unix-quez" significam
funções de file system: fgetc(), fgets(), getc(), getc(), getchar(),
fputc(), fwrite(), chdir(), chmod(), mkdir(), ...; funções de controle
de processos: fork(), wait(), kill(), ...; funções matemáticas:
log, rand(), ...; funções de controle de threads: pthread_create(),
pthread_cancel(), pthread_join(), pthread_kill(), ...; funções de
manipulação de dados: bsearch(), qsort(), ...; subrotinas em C (chamáveis
por outras linguagens para executar as funções anteriormente descritas);
entre outras.
Foi implementado, também,
o básico do DCE (Distributed Computing Environment) que vem a ser
o padrão da OSF para ambientes de processamento distribuído, onde
o mainframe no papel de servidor, pode atuar como servidor de aplicações,
servidor de dados (servidor NFS) e servidor de transações, com uma
interface RPC para acessar transações CICS.
Estão previstos para
as próximas versões a parte cliente do NFS, quando o mainframe,
através de RPC, acessará dados em outros servidores da rede; o suporte
à objetos; a implementação do DCE 1.1 completo; o DFS (Distributed
File System); o servidor de segurança; e outras melhorias.
Enfim, o que a IBM está
buscando, em termos de mainframe, é se posicionar dentro da nova
realidade de processamento distribuído, arquitetura cliente/servidor,
com plataformas heterogêneas num sistema aberto. Neste ambiente,
o mainframe pode atuar tanto como servidor corporativo quanto como
cliente buscando dados e aplicações em outros servidores da rede.
O mainframe, apesar de
mal falado nessa era de sistemas abertos como sinônimo de sistema
proprietário, apresenta-se com nova "cara" na solução
proposta com o Open Edition. Pela sua robustez (segurança, gerenciamento,
disponibilidade ...) e por sua capacidade de processamento de grandes
volumes de dados (performance de I/O), e agora com uma interface
familiar aos usuários Unix, coloca-se novamente nesse contexto como
uma opção interessante e viável em projetos que necessitem desse
tipo de recurso, sem que isso signifique deixar de usufruir o que
as outras tecnologias têm de melhor: interfaces GUI, facilidade
de uso, custo do hardware mais acessível, etc. Então, se temos necessidade
e podemos usufruir o melhor desses diversos mundos tecnológicos,
por que não?
sonia@lepus.celepar.br

|