História dos UNIXes Brasileiros

Este página é uma pequena homenagem para o Prof. Newton Faller, a quem devo muito de minha formação. Recebi o artigo abaixo em 5 de Junho de 1992, quando o mesmo se encontrava em pós-doutorado no ICSI, em Berkeley. Trata da história do UNIX e dos similares nacionais. Bom proveito!


Oi Gabriel,
Recebi a sua mensagem e, realmente, tenho muitas informacoes sobre os UNIX
brasileiros. Infelizmente, a maioria delas esta' ai' no Brasil. Entretanto,
pesquisando as informacoes que eu trouxe, descobri um pedaco de palestra
que havia preparado para a SEI ainda na epoca do licenciamento ou nao do
UNIX (1990), e um paper de 1986 que, certamente, ja' virou historia. Acho que
ambos podem lhe ser de alguma utilidade. Os textos usam os caracteres do
conjunto Latin 1 e podem ser vistos com todos os acentos quando se usa o
X/Window na Sun. Se eu descobrir mais alguma coisa eu lhe mando. De^ tambem
uma olhadinha nos Boletins do Plurix.

Um abraco,
Newton




                PLURIX, UNIX e os Sistemas Abertos                 

                        Newton Faller
                           NCE/UFRJ


Tópicos:



                PLURIX, UNIX e os Sistemas Abertos                 


                         SISTEMAS ABERTOS


1)   O sistema obedece a especificações bem definidas e disponíveis
     para a indústria;

2)   As  especificações  são  seguidas  por  produtos  de  diversos
     fabricantes de computadores independentes (concorrentes);

3)   As  especificações não são controladas por um grupo pequeno de
     fabricantes;

4)   As  especificações  não  estão  restritas  à  arquitetura   ou
     tecnologia de um computador específico.


Ref.: Pajari, G., "Just what is an Open System", UnixWorld, Nov. 89


HISTÓRIA DO UNIX Final dos anos 60: MULTICS (MIT, BELL, GE) Núcleo Básico: PDP-7 -> PDP-11 Origem da Linguagem C: ALGOL 60 -> BCPL -> B -> C 1973: UNIX reescrito em C abre o caminho para a PORTABILIDADE 1975: Versão 6 -> Universidades 1978: Versão 7 (portátil) -> uso comercial 1982: System III (padrão da AT&T) 1983: System V (novo padrão da AT&T reconhecido pela INTEL, MOTOROLA, NATIONAL e ZILOG) 1984: /usr/group -> Standard Proposal 1985: System V.2 System V Interface Definition (SVID) 1985/1986: X/OPEN (padrão para BULL, ICL, NIXDORF, OLIVETTI, PHILIPS e SIEMENS) 1986: POSIX (padrão universal) Out87: AT&T anuncia intenção de desenvolver System V.4 Jan88: AT&T anuncia compra de 20% da SUN Hamilton Group Mai88: Open Software Foundation (OSF) (IBM, DEC, HP, APOLLO, BULL, NIXDORF, SIEMENS) Out88: Archer Group (GOULD, OLIVETTI, TOSHIBA, UNISYS, AMDAHL, +12) Dez88: OSF -> OSF/1 (Request for Technology -> MOTIF) Jan89: Archer Group -> UNIX International (UI) AT&T cria UNIX Software Operation (USO) Mai89: OSF tem 113 membros; UI tem 72 membros. Jul89: OSF especifica o MOTIF Dez89: AT&T apresenta o System V.4 1990: OSF apresenta OSF/1 (?)
Os SOFIX (Sistemas Operacionais com Filosofia UNIX) ORIGINAL UNIX da AT&T LOOK-ALIKE Licenciados (pagam à AT&T) VENIX da Venturcom XENIX da Microsoft UNIPLUS+ da Unisoft ULTRIX da DEC LOOK-ALIKE Não Licenciados (não pagam à AT&T) IDRIS da Whitesmiths COHERENT da Mark Williams UNOS da Charles River REGULUS da Alcyon WORK-ALIKE Não Licenciados (não pagam à AT&T) CROMIX da Cromenco MICRONIX da Morrow Design QNX da Quantum Software Systems
HISTÓRIA DOS SOFIX NO BRASIL 1979/80: NCE/UFRJ tenta licenciar UNIX 1982: Início do projeto PEGASUS/PLURIX no NCE/UFRJ Contatos NCE - COBRA - DIGIBRÁS 1983: DIGIBRÁS tenta licenciar UNIX NCE/UFRJ dá curso para a indústria 1984: Criação da ADI (Associação para o Desenvolvimento da Informática) 1985: Começam a surgir no Brasil sistemas similares ao UNIX COBRA -> SOX EDISA -> EDIX SOFTEC -> ANALIX UFMG -> DCC-IX UFRJ -> PLURIX USP -> REAL 1987: NCE/UFRJ licencia PLURIX para a EBC (E-IX) 1988: COBRA licencia SOX para ITAUTEC e LABO; NCE/UFRJ licencia PLURIX para a SISCO; Inúmeros fabricantes têm SOFIX registrados na SEI como desenvolvimento próprio; COBRA e NCE/UFRJ entram com pedido de similaridade de seus sistemas ao UNIX. 1989: SEI reconhece similaridade do SOX com o System V.2 mas não com o System V.3; Inúmeros fabricantes que têm SOFIX registrados na SEI como desenvolvimento próprio reconhecem que licenciaram o UNIX da AT&T; Maioria dos fabricantes brasileiros licencia UNIX e fazem transporte no exterior; COBRA tem similaridade do SOX ao UNIX reconhecida no X/OPEN; COBRA entra com recurso no CONIN; 1990: Reunião do CONIN adiada sine-die;
O restante deste artigo foi suprimido no original enviado.
OS SISTEMAS OPERACIONAIS COM FILOSOFIA UNIX Newton Faller NCE/UFRJ 27 de novembro de 1986 CONTEÚDO 1 - Introdução 2 - Origens e Evolução 3 - Os Sistemas IX no Brasil 4 - A Filosofia UNIX 5 - A Implementação de Sistemas IX 6 - A Utilização de Sistemas IX 7 - A Padronização de Sistemas IX 8 - Perspectivas 9 - Conclusões 1 - INTRODUÇÃO O sistema operacional UNIX e todos os outros que vieram a ser desenvolvidos usando a mesma filosofia do original da AT&T têm-se tornado extremamente populares. As razões são várias, embora, duas delas consideramos de especial importância. Em primeiro lugar devemos salientar a potencialidade destes sistemas. São sistemas sofisticados, interativos e multiusuários capazes de controlar máquinas de porte grande e proporcionar um excelente serviço a seus usuários. Estes sistemas, portanto, tem pouco a ver com os sistemas operacionais para microcomputadores que conhecemos. Em segundo lugar, a popularidade dos sistemas com filosofia UNIX deve-se ao fato de sua portabilidade. Por terem sido escritos em uma linguagem de alto nível (quase todos em linguagem C) tornam a sua adaptação para os mais diferentes tipos de computadores uma tarefa razoavelmente simples, embora, certamente, não trivial. Certamente podemos afirmar sem medo de errar que tais sistemas são os únicos existentes na atualidade que possuem versões que rodam em computadores dos mais diferentes portes, arquiteturas e fabricantes. Os sistemas operacionais com filosofia UNIX, que de agora em diante chamaremos apenas de "sistemas IX", têm uma grande chance de se tornarem um padrão internacional permitindo um maior intercâmbio de software e, principalmente, criando um mercado mundial de software onde a origem e características do computador e os detalhes de implementação do seu sistema operacional ficam encobertos pela filosofia UNIX. Se os sistemas IX se tornarão realmente um padrão internacional é uma pergunta que o tempo responderá. 2 - ORIGENS E EVOLUÇÃO O sistema operacional UNIX Versão 1 originou-se do trabalho de dois pesquisadores da AT&T, Kenneth Thompson e Brian Kernighan, que no final de 1969 ao perceberem a desistência de sua companhia em continuar junto com a GE e o MIT no projeto do sistema operacional MULTICS (de onde, em contraposição o nome UNIX foi cunhado) decidiram desenvolver o seu próprio sistema. Assim, é curioso, o UNIX foi desenvolvido a revelia da AT&T e sem um objetivo definido. Isto é, o sistema foi desenvolvido apenas por duas pessoas sem a interferência de gerentes, membros de comissões e coisas similares que sempre são criadas nestes casos para "facilitar" o trabalho. Há quem afirme que estas foram as principais razões que tornaram o sistema tão coerente e descomplicado. Até a Versão 5 do UNIX o mundo exterior a AT&T teve pouco conhecimento sobre ele. O intercâmbio de pesquisadores entre os laboratórios Bell da AT&T e as universidades americanas entretanto, começaram a tornar o UNIX apreciado em meios acadêmicos. A partir de 1976, a Versão 6 passou a ser licenciada para universidades a um custo irrisório. Não havia suporte nem manutenção do sistema por parte da AT&T, embora estes não tivessem sido fatores preponderantes para a escolha de um sistema operacional para um ambiente de pesquisa em ciência da computação. Como o UNIX não era inicialmente licenciável por empresas, surgiram os primeiros sistemas UNIX-like não licenciados desenvolvidos independentemente da AT&T a partir das especificações do sistema original. O IDRIS da Whitesmiths, o COHERENT da Mark Williams e, mais tarde, o UNOS da Charles River são alguns exemplos de tais sistemas. Em 1977 surgiu a Versão 7 do UNIX que contém um conjunto básico estável de características que continuam praticamente inalteradas em todos os sistemas IX da atualidade [1]. Há quem afirme que, por definição, UNIX é a Versão 7. O resto, são variações em torno de um mesmo tema. A partir da Versão 7, a Universidade da Califórnia em Berkeley passou a redefinir e expandir o sistema licenciado da AT&T a ponto de hoje ter um sistema quase autônomo que tem sido identificado pela sigla BSD (Berkeley Software Distribution). A AT&T também ganhou com isso pois hoje muitas partes do sistema que é licenciado pela AT&T tiveram a sua origem naquela universidade. Com o licenciamento a partir de 1980 da Versão 7 para empresas, começaram a surgir os sistemas UNIX-like licenciados, isto é, baseados no código original do UNIX da AT&T. Um dos exemplos mais importantes de tais sistemas é o XENIX da Microsoft. Enquanto empresas e universidades vinham adaptando e expandindo o sistema licenciado ou não, os pesquisadores da AT&T continuaram o desenvolvimento com a Versão 8. Esta Versão não é comercializada e objetiva estudar as perspectivas para o uso do UNIX em ambientes distribuídos. A partir de 1980 a AT&T passou a investir pesadamente no UNIX para garantir o sucesso de sua comercialização. Talvez por uma questão de marketing a nomenclatura dos sistemas mudou passando-se a identificar o UNIX não mais por versões mas por sistemas. Assim, tomamos conhecimento do UNIX System III em 1982 e do UNIX System V em 1984. A versão mais atual que se conhece chama-se System V.3 e é de abril de 1986. De versão para versão (ou de sistema para sistema) tem-se notado uma expansão da versão anterior embora traços indeléveis mostram que a versão 7 ainda é o ponto de partida para as versões mais recentes. Nota-se também uma tendência, proposital ou não, de complicar-se as coisas mais simples. Isto tende a irritar aqueles que apreciam a filosofia básica do UNIX como já irritou seus próprios criadores. Há que se ter uma certa crítica ao se desenvolver um sistema IX tendo como base o System V, por exemplo, para não se perder nos inúmeros detalhes irrelevantes contidos em suas versões mais recentes. 3 - OS SISTEMAS IX NO BRASIL A origem dos sistemas operacionais com filosofia UNIX no Brasil está indelevelmente ligada ao Núcleo de Computação Eletrônica da Universidade Federal do Rio de Janeiro (NCE/UFRJ). Seus pesquisadores que retornaram do exterior com seus doutorados a patir de 1979 tentaram sem sucesso o licenciamento do UNIX diretamente da AT&T. A partir de 1982, devido à consistente recusa do licenciamento por parte da AT&T, decidiu-se iniciar o desenvolvimento de um sistema próprio usando-se como referência um sistema UNIX Versão 7, o mais recente na época, que foi comprado no exterior. Já em 1983 o NCE/UFRJ oferecia um curso para diversas indústrias, algumas das quais hoje tem seus próprios sistemas IX, onde as características dos sistemas IX e a documentação obtida sobre os mesmos foram analisadas detalhadamente. Em paralelo, ainda em 1983, as tentativas frustradas da extinta Digibrás no sentido de licenciar o UNIX diretamente da AT&T conduziram à criação em 1984 da Asociação para o Desenvolvimento da Informática (ADI). A ADI na realidade representava um conjunto de empresas interessadas no UNIX. As tentativas também frustradas da ADI conduziram à criação da Associação para o Progresso da Informática (API) em 1986 ainda com o mesmo objetivo. Neste final de ano de 1986, com o cancelamento unilateral por parte da AT&T das negociações com a API, prenuncia-se ainda um longo caminho a trilhar para o licenciamento do UNIX da AT&T para o Brasil. Enquanto isso, empresas como a EDISA e a COBRA investiram no desenvolvimento de seus sistemas IX (EDIX e SOX, respectivamente). Universidades também se propuseram ao desenvolvimento de sistemas IX nacionais. Em particular, o NCE/UFRJ já anunciava em 1985 a sua disposição de licenciar o sistema operacional PLURIX ali desenvolvido [2] para as empresas nacionais interessadas. Esta idéia também foi incorporada pela COBRA que, junto com o Centro Tecnológico para a Informática (CTI), também estaria disposta a licenciar o seu SOX. Certamente nenhum dos sistemas nacionais têm ainda a abrangência de um UNIX System V que vem incorporando software de diferentes origens há mais de quinze anos. Entretanto, isto pode ser conseguido ao longo do tempo sem que necessáriamente seja preciso emular todas as características do sistema da AT&T. A evolução dos sistemas nacionais pode seguir um caminho próprio e ainda resultar num sistema cujas características básicas sejam respeitadas (filosofia UNIX) garantindo assim a compatibilidade com outros sistemas IX no exterior. 4 - A FILOSOFIA UNIX Já em 1984 contavam-se mais de 30 sistemas IX, segundo uma edição especial do Computerworld do mês de setembro daquele ano. O que fazia com que todos aqueles sistemas pudessem ser chamados de "UNIX-likes" era a filosofia UNIX comum a todos eles. A filosofia UNIX baseia-se em um núcleo de sistema operacional bastante simples com funções básicas e utilitários modulares capazes de serem concatenados de forma a produzirem funções complexas. A filosofia UNIX expressa-se na existência de duas interfaces bem definidas que têm sido objeto de algumas tentativas de padronização. A interface entre o usuário e o sistema permite que, nas mais diferentes implementações de sistemas IX, funções similares sejam obtidas através de comandos similares. O usuário que vai trabalhar com diversos computadores de diferentes portes e fabricantes utilizando um sistema IX somente necessita ser treinado para utilizar um deles. A utilização de qualquer um dos outros é análoga. A outra interface fundamental é aquela que se interpõe entre os programas e o núcleo do sistema. Ela é composta de rotinas que pedem serviço ao núcleo do sistema ("system calls") e das rotinas que intermediam estes pedidos. A padronização desta interface permite que programas desenvolvidos para um sistema IX possa ser utilizado em qualquer outro sem que o programa fonte precise ser modificado. Esta característica da filosofia UNIX torna os sistemas IX muito atrativos para as casas de software pela potencial escala criada por um mercado de computadores diferentes capazes de utilizar sem modificações um mesmo software aplicativo. 5 - A IMPLEMENTAÇÃO DE SISTEMAS IX Um sistema IX é basicamente composto de um núcleo, um conjunto de rotinas que facilitam a interação com este núcleo, um conjunto de utilitários (muitas vezes chamados de comandos) e um interpretador de comandos (também chamado "shell") que facilita ao usuário a execução dos comandos. Quando o sistema é usado para desenvolvimento de software, incluem-se ainda os compiladores e editores ligadores. Praticamente todo sistema IX é quase que em sua totalidade escrito em linguagem C. Uma ou outra rotina por questão de eficiência pode ser escrita em linguagem Assembly. O próprio núcleo do sistema tem menos de 106 do número de linhas de código escritas em liguagem Assembly. No núcleo do PLURIX, por exemplo, temos 27000 linhas, das quais menos de 2000 são provenientes de módulos em Assembly. O núcleo de um sistema IX provê um mínimo de funções básicas que permitem a manipulação de arquivos (open, read, etc.), a criação e controle dos processos (fork, exec, etc.) e algumas poucas funções adicionais [3]. Do conjunto de rotinas que intermediam o acesso aos serviços básicos do núcleo, é importante citar o grupo chamado "stdio", as rotinas de entrada e saída padrão. Este conjunto padronizado de rotinas facilita sobremaneira o desenvolvimento de aplicactivos para os sistemas IX. Os utilitários dos sistemas IX variam largamente em número de um sistema para outro. É fácil de se entender esta variedade, já que qualquer programa pode se transformar em utilitário e ser incorporado ao sistema. O UNIX da AT&T nos últimos dez anos vem incorporando muitos utilitários desenvolvidos fora de seus laboratórios. As universidades, e em particular, a Universidade da Califórnia em Berkeley, têm feito uma contribuição substancial. Existe um certo consenso, entretanto, quanto ao número de utilitários básicos necessários para a obtenção de um serviço razoável para o desenvolvimento, implantação e execução de software aplicativo. Este número não irá além de uns 30 a 40 utilitários. Mesmo assim, o UNIX System V tem mais de 200 utilitários, enquanto o PLURIX Versão 1 tem da ordem de 70 utilitários. O interpretador de comandos (shell) é um programa sofisticado dotado de linguagem própria capaz de sequenciar segundo uma série de diretivas a execução de inúmeros comandos. Os interpretadores mais recentes possuem internamente um histórico dos últimos comandos executados tendo diretivas para a edição e reexecução destes comandos. O "shell" do PLURIX se enquadra neste tipo de interpretadores. O compilador C, o montador Assembler e os editores ligadores acompanhados de rotinas de manipulação de bibliotecas sempre são partes integrantes de sistemas IX. Compiladores adicionais são, em geral, obtidos através de casas de software especializadas no desenvolvimento de compiladores. 6 - A UTILIZAÇÃO DE SISTEMAS IX Os sistemas IX são usados na atualidade nas mais variadas aplicações. Temos visto sistemas IX como base para desenvolvimento de software, aplicações científicas, atividades acadêmicas, aplicações comerciais, CAD/CAM, controle de processos, etc. Pode-se afirmar, sem muito receio de erro, que os sistemas operacionais com a filosofia UNIX em sua idéia original ou sofrendo adaptações sem alteração de sua filosofia básica podem ser usados para os mais diversos usos onde o computador é uma ferramenta importante. Obviamente que para esta afirmação se manter verdadeira é essencial que haja um total controle sobre sua implementação para que as modificações adequadas possam ser feitas facilmente quando do surgimento das necessidades. 7 - A PADRONIZAÇÃO DE SISTEMAS IX A proliferação de sistemas IX no mercado internacional vem causando uma certa preocupação nos usuários de tais sistemas. Receosos da perda do investimento em software devido a uma possível incompatibilidade entre os sistemas IX, diversas instituições têm promovido encontros de usuários e formação de comissões para estudar o problema. Existe um consenso de que um conjunto básico de chamadas ao núcleo do sistema, rotinas de serviço e utilitários devem constar de todos os sistemas IX. O que não constar deste conjunto básico, pode não ser encontrado em algum sistema IX e desta forma deve ser evitado por casas de software que desejam tranparência de seus produtos, inclusive em relação à exportação. Já em 1984 o autor deste artigo demonstrava a sua preocupação [4] reforçada anos mais tarde [5] pela sugestão da criação de comissões no CB-21 da ABNT. Também em 1984 o grupo de usuários americanos /usr/group publicava os seus padrões [6]. A própria AT&T, a partir de 1985, se viu forçada também a publicar o que seria o básico e as expansões para o seu System V [7]. Um grupo de empresas européias (Bull, ICL, Nixdorf, Olivetti, Phillips e Siemens) reuniram-se a partir do final de 1985 para definir o X-OPEN, um padrão para a Europa [8]. Este grupo de empresas não se restringe ao conjunto básico mas pretende padronizar também o que deve ser usado nas áreas de aplicações gráficas, bancos de dados, sistemas de comunicação, etc., de forma a permitir um crescimento ordenado de sistemas IX, pelo menos na Europa. 8 - PERSPECTIVAS O UNIX foi originalmente desenvolvido por apenas duas pessoas. Não é inviável que um grupo de pessoas em qualquer lugar do mundo tenha sucesso na implementação de um sistema similar. Em primeiro lugar, este desenvolvimento fica facilitado porque o sistema UNIX já está definido e numa fase de padronização. Em segundo lugar a experiência não é inovadora pois que já existem nos E.U.A. sistemas desenvolvidos independentemente, inclusive competindo no mercado com o sistema da AT&T. O UNIX é o carro chefe do marketing da AT&T em computação. À AT&T não interessa desenvolvimentos independentes. Por isso, licencia o UNIX para todos os interessados, desde que estes se submetem às suas regras e às do governo americano. Esta submissão é essencial para os E.U.A. que espera nesta área de serviços reduzir um pouco o seu deficit comercial. A dificuldade do licenciamento do UNIX pelas indústrias brasileiras aliada aos esforços de desenvolvimento de um sistema nacional vem demonstrar por um lado a fragilidade do país na obtenção no exterior de tecnologia de seu interesse e, por outro lado, o poder dos cérebros brasileiros que com engenhosidade e perspicácia puderam desenvolver esta tecnologia necessária de forma independente. Em termos do mercado nacional, os sistemas IX vem despertando interesse de diversas empresas. As formas de obtenção de sistemas IX tem sido variadas. Algumas empresas vêm se dedicando ao desenvolvimento total do sistema enquanto outras compraram sistemas similares no exterior e os vêm adaptando para seus computadores. A simples conversa com os membros da equipe de desenvolvimento de cada empresa permite ao especialista identificar em qual destas duas categorias a empresa se enquadra. O interesse por sistemas IX tem redirecionado atividades tanto de casas de software que representam software estrangeiro como também daquelas dedicadas ao desenvolvimento de seus próprios produtos. Tem também incentivado pesquisadores de Universidades envolvidos no desenvolvimento de software para sistemas IX ou no desenvolvimento dos próprios sistema IX a criarem suas empresas a fim de viabilizar tais desenvolvimentos para o mercado. 9 - CONCLUSÕES O sistema UNIX da AT&T ganhou a popularidade que hoje tem por ser um sistema ao mesmo tempo simples e poderoso. Os sistemas IX que se utilizam da filosofia UNIX usando diretamente o código original da AT&T ou código desenvolvido independentemente tem sido utilizados em computadores dos mais diversos portes, arquiteturas e fabricantes nas mais diferentes aplicações. O uso eficiente de sistemas IX em muitas aplicações requer adaptações somente passíveis de serem executadas por aqueles que dominam completamente a tecnologia de suas implementações. A autonomia para o uso irrestrito de tais sistemas incluindo a exportação dos mesmos pressupõe a desvinculação total de sua tecnologia de fontes localizadas no exterior. O desenvolvimento e padronização de sistemas IX no Brasil representa um raro momento da história da computação na qual é possível ter-se total controle de uma tecnologia que vem se firmando no exterior como um padrão internacional. REFERÊNCIAS [1] RITCHIE, D.M. e THOMPSON, K., "The UNIX Time-Sharing System", Bell System Technical Journal, V. 57, N. 6, Parte 2, Jul/Ago 1978. [2] FALLER, N. et al., "O Projeto PEGASUS-32X/PLURIX", Anais do XVII Congresso Nacional de Informática, Rio de Janeiro, Set. 1984. [3] THOMPSON, K., "UNIX Implementation", Bell System Technical Journal, v. 57, N. 6, Parte 2, Jul/Ago. 1978. [4] FALLER, N., "Padronização de Sistemas Operacionais *IX", Data News, 27/03/84. [5] FALLER, N., "Padronização em Computação e os Sistemas Operacionais", Boletim Informativo do CB-21 da ABNT, Ano 1, N. 4, Nov./Dez. 1985. [6] /usr/group, "Standard Definition", /usr/group, 1984. [7] KEVORKIAN, D. ed., "System V Interface Definition", AT&T, 1985. [8] X-OPEN, "X-OPEN Standards", Springer-Verlag, 1985.
[Home]

Last modified: Wed Nov 26 12:00:31 EDT 1997