OS PROJETOS ACADÊMICOS NACIONAIS E SUA INFLUÊNCIA NA INDÚSTRIA NACIONAL: O CASO DA COBRA COMPUTADORES Gabriel P. Silva Departamento de Ciência da Computação Universidade Federal do Rio de Janeiro [email protected] Resumo Este trabalho apresenta um breve resumo de alguns projetos acadêmicos de arquitetura e sistemas operacionais desenvolvidos durante o século passado nas universidades brasileiras e retrata sua influência sobre os produtos industriais lançados naquela época. Particularmente, procuramos demonstrar a contribuição de dois projetos acadêmicos, o computador G-10 da USP e PUC/RJ, e o projeto Pegasus/Plurix na UFRJ, para os dois projetos comerciais de grande relevância tecnológica desenvolvidos pela Cobra Computadores. Este trabalho procura resgatar um pouco desta história trazendo detalhes sobre as tecnologias, conceitos e equipes envolvidas na concepção desses projetos. Palavras-Chave: Arquitetura de Computadores; História da Computação; Reserva de Mercado da Informática; Cobra Computadores; Pegasus; Unix; SOX; Plurix. I- Introdução Já no início da década de 60 encontramos notícias do desenvolvimento de projetos de computação no Brasil, principalmente dentro das universidades e centros de pesquisa. Esses projetos acadêmicos prosseguiram durante a década de 70, 80 e 90, contando com a participação de diversos grupos ligados às principais universidades do país, particularmente no eixo Rio-São Paulo. Muitos destes projetos acabaram resultando no desenvolvimento de produtos comerciais para a então nascente indústria de informática, sob a proteção da reserva de mercado, estabelecida a partir do ano de 1984. Ao final da reserva de mercado, em 1992, o financiamento para o desenvolvimento destes tipos de projetos acabou se extinguindo gradativamente até que, partir do ano 2000, não encontrarmos mais projetos desta natureza. Longe de pretender cobrir exaustivamente todos os projetos existentes naquela época, este trabalho faz a análise de caso da Cobra Computadores, tentando retratar o mais fielmente possível, as tecnologias, conceitos e equipes envolvidas em alguns desses projetos e retratar sua influência sobre os produtos que foram então desenvolvidos. II- Os Projetos Pré-Reserva de Mercado para Informática Com a instalação no país dos primeiros computadores comerciais já na década de 50, começa a surgir um interesse na comunidade científica para o desenvolvimento de protótipos de computadores para investigar esta nova área do conhecimento humano que então se iniciava: a ciência da computação. Algumas tímidas iniciativas podem ser vistas já no começo da década de 60, como os projetos pioneiros como o computador de codinome “Lourinha”, desenvolvido no curso de eletrônica do IME/RJ e “Zezinho”, um computador com finalidades didáticas, que utilizava apenas componentes nacionais (cerca de 1500 transistores), desenvolvido no ITA. Novos projetos só surgiram novamente no início da década de 1970, devido às condições favoráveis estabelecidas pela política de governo, com financiamentos governamentais para projetos acadêmicos e a política da CAPRES de estabelecimento de uma reserva para a faixa de mercado de minicomputadores, microcomputadores e seus periféricos para produtos fabricados com tecnologia nacional (Cardi, 2012). Em 1971, o Laboratório de Sistemas Digitais (LSD) da Universidade de São Paulo (USP) desenvolveu um computador apelidado de Patinho Feio. Nessa época, Glen Langdon (IBM), Jim Rudolph (HP), dentre outros, eram engenheiros de empresas estrangeiras que atuavam como professores de cursos que visavam à criação da competência para desenvolver computadores. O Patinho Feio foi feito como parte de um exercício prático que teve a participação de cerca de 10 alunos pós-graduandos. De acordo com o responsável pela criação e desenvolvimento do Patinho Feio, Prof. Antônio Hélio Guerra Vieira (USP), o Patinho Feio, tinha um metro de altura, 80 centímetros de largura, pesava mais de 1.000 quilos era composto de 450 pastilhas de circuitos integrados, clico de máquina de 2 µs, cerca de 8 KB de memória, contendo cerca de três mil blocos lógicos, distribuídos em 45 placas de circuito impresso e cinco mil pinos interligados segundo a técnica ''wire-wrap''. Como dispositivos de entrada e saída eram utilizadas uma unidade de fita de papel, impressora, terminal de vídeo e plotter (Cardi, 2012). A iniciativa de construção do Patinho Feio foi decisiva para o passo seguinte a ser dado na história da computação no país. Nesta época, a Marinha – que comprava, na Inglaterra, modernas fragatas informatizadas – formou, com o Banco Nacional de Desenvolvimento Econômico (BNDE), um Grupo de Trabalho Especial (GTE), para executar um programa de preparação de engenheiros que entendessem de projeto, fabricação e manutenção de computadores. Em 24 de julho de 1972, o GTE assinou um documento com a USP e com a firma E.E. (Equipamentos Eletrônicos) para o desenvolvimento, em dois anos, do que se chamava na época de minicomputador, com repasse de tecnologia da USP para a EE. Foi construído o protótipo de um minicomputador de 16 bits, memória de núcleo de ferrite armazenando 32KB, sistema operacional monoprogramável em disco (Dantas, 1989). Tratava-se de um protótipo industrial mais compacto, seguindo os recursos da época, de mais fácil montagem e com componentes periféricos, que recebeu o nome de G-10. Segundo (Cardi, 2012), ao contrário do Patinho Feio, o G-10 tinha as características de um protótipo. Possuía documentação com desenhos e especificações, além de software e sistema operacional desenvolvido pela PUC-RJ. Certamente, ao ser transferido à Cobra para industrialização, era o mais avançado computador até então feito inteiramente no Brasil. Paralelamente a esses esforços, foi iniciado em meados de 1973, no Núcleo de Computação Eletrônica da UFRJ (NCE/UFRJ), o desenvolvimento de um processador de ponto flutuante para uso com o computador IBM 1130, instalado na universidade. Esse projeto, que contou com a participação de professores como Eber Schmitz e Newton Faller (Bianchi, 1988), marcou o início de projetos nacionais na área de hardware transferidos com sucesso para a indústria nacional. Financiado pelo BNDES, o PPF foi repassado a empresa Microlab que industrializou algumas poucas unidades ainda em 1974. Neste mesmo ano o NCE/UFRJ iniciou o projeto de um computador de porte médio compatível com o PDP 11/70 da Digital. A equipe era composta por Adalberto Afonso Barbosa, Adriano Joaquim Oliveira Cruz, Ageu Cavalcanti Pacheco Júnior, Armando Drummond, Júlio Salek Aude, Mário Ferreira Martins, Paulo Henrique de Aguiar Rodrigues e Rogério Antônio Sampaio Parente Vianna. Uma das premissas colocadas para o projeto é que o conjunto de instruções, registradores, condições de erro e barramentos de E/S fossem totalmente compatíveis com o PDP/11-70 para que o sistema operacional e os periféricos do PDP-11/70 pudessem ser utilizados na CPU de porte médio, já que essas tecnologias não eram dominadas na época. Não havia uma indústria de informática no país e conceito de ''software'' livre estava muito longe de ser inventado. Ao contrário do projeto da USP, e apesar de algumas tentativas, esse protótipo não resultou em transferência tecnológica para nenhuma indústria nacional, mas lançou as bases para o desenvolvimento de um projeto de bastante sucesso na década seguinte: o Pegasus/Plurix. III- A Cobra Computadores A Cobra iniciou suas atividades em 1974 produzindo o Cobra 700, com aplicação em controle de sistemas, com tecnologia da firma inglesa Ferranti. Para atender a necessidade dos bancos, que tinham grande necessidade de equipamentos de entrada de dados, a Cobra a adquiriu da Sycor, firma americana, a licença para fabricar o Sycor 440, um minicomputador baseado em microprocessadores 8080, da lntel, aqui denominado Cobra 400. Em setembro de 1977, no VII Secomu, realizado em Florianópolis/SC, sob influência da Capre e da Finep que estava financiando o projeto, os executivos da empresa Cobra comprometeram-se a tocar o projeto do G-10 de forma mais efetiva. Parte dos projetistas da USP e da PUC seguiu para a Cobra, junto com o G-10. Ali encontrou engenheiros vindos de outras experiências, como as da nacionalização do Cobra 700 e do Cobra 400/2, e as de desenvolvimento de terminais no Serpro. Todos perceberam que o G-10 estava longe de ser um projeto industrializável. A máquina foi reprojetada, passando a ser designada de G-11. Multiusuário, mas ainda sem o efetivo comprometimento efetivo da Cobra na sua industrialização. Porém, quando houve a decisão da Cobra em assegurar o projeto, a máquina foi novamente reprojetada, originando o início da linha Cobra 500 (Rodrigues, 1984). O Cobra 530 foi lançado no segundo semestre de 1980, no congresso da SUCESU, no Rio de Janeiro, sendo o primeiro computador totalmente projetado, desenvolvido e industrializado no Brasil. A UCP, projetada por Stephan Kovacs tinha quatro placas, baseada na mais moderna tecnologia da época para máquinas de 16 bits: as pastilhas “bit slice”, utilizadas como blocos lógicos para implementar as unidades responsáveis pelas operações lógico-aritméticas da UCP. A equipe de programação, liderada por Firmo Freire, realizou o desenvolvimento da linguagem montadora (para a UCP do 530), além da implementação linguagens de programação LPS, LTD e Mumps, compiladores Cobol e Fortran, sistemas operacionais Mumps e SOD — este com cerca de 12 mil linhas de código-fonte, ocupando 200Mb da memória. (Dantas, 1989). Essa linha evoluiu com o lançamento de outros modelos, todos com o sistema operacional SOD, também desenvolvido na Cobra. Entre eles destacamos: Cobra 540, Cobra 480, Cobra 580 (uma versão reduzida do Cobra 540). Apesar de se tratar de um grande marco na computação no Brasil, os computadores da linha Cobra-500 começaram a ser pressionados com o surgimento de um novo avanço tecnológico: os microprocessadores, que agregavam toda a UCP em apenas um único circuito integrado. Inicialmente utilizados para o controle de terminais e outras aplicações de menor demanda computacional, avançavam rapidamente em desempenho, aumento a largura de processamento de 8 bits para 16 e 32 bits em um curto espaço de tempo. IV- O Projeto Pegasus/Plurix O computador Pegasus-32X (Faller,1984) foi desenvolvido no NCE/UFRJ por uma equipe liderada pelo Prof. Newton Faller, da qual participou o autor, no início dos anos 80. Esse projeto representava uma família de supermicrocomputadores, homogêneos, simétricos, de 32 bits. Suas principais características eram: capacidade de multiprocessamento; suporte para memória virtual com uso de gerência de memória para relocação e proteção de programas em ambientes multiusuários e multi-tarefas; utilização de microprocessadores da família MC680XX; barramento padronizado VME bus; cache de 4 Kbytes em cada placa UCP; unidades de processamento periférico, (UPP's) inteligentes; módulos de memória com até 4 Mbytes; todas as placas são auto-testáveis, de rápida reconfiguração em caso de falhas, devido à existência de diversos processadores e à modularidade do projeto. Deve-se observar que uma configuração simples possuía apenas 4 módulos, ou seja, um módulo UCP com console, um módulo de memória com até 4 Mbytes, um módulo UPP para até 16 terminais e duas impressoras e um módulo UPP para ''SASI bus''. Devido à alta homogeneidade do sistema, a evolução da família para a faixa de desempenho dos superminis se dava pela replicação dos módulos básicos. O sistema utiliza-se como meio de comunicação entre os diversos módulos o barramento ''VME bus'' que era um padrão internacional em uso na época. A filosofia de utilizar padrões de barramento tipo VME e SASI bus foi amplamente utilizada no projeto e visava compatibilidade com os dispositivos de E/S disponíveis no mercado, menor tempo de projeto e garantia de qualidade de interconexão. Uma contribuição importantíssima do projeto foi o desenvolvimento de um sistema operacional compatível com o Unix totalmente com tecnologia nacional. O sistema operacional Plurix (Faller, 1984), cujo projetista chefe era o analista Pedro Salembauch, foi construído baseado nas especificações da versão 7 do sistema Unix, possuindo diversas melhorias encontradas em outras versões, assim como características próprias. Posteriormente foi feita a compatibilização do Plurix com a versão System V do Unix. Entre as principais características do Plurix podemos citar: suporte para o controle de múltiplos processadores; sistema de arquivos hierárquico, incluindo volumes montáveis; entrada/saída em arquivos, em dispositivos, e entre processos compatíveis entre si; ativação de processos assíncronos; seleção do interpretador de comandos do sistema em nível de usuário/aplicações; alto grau de portabilidade, sendo a grande maioria do sistema era escrita em uma linguagem de alto nível (C); chamada de funções do sistema (''system call'') padronizadas. Todas essas características de “hardware” e “software” eram grandes inovações tecnológicas para a época em relação aos sistemas existentes no mercado. V- A linha X e o Sistema Operacional SOX da Cobra Como resposta à ameaça tecnológica representada pelos microprocessadores de maior desempenho, a Cobra Computadores iniciou em 1984 o desenvolvimento do projeto de maior destaque tecnológico neste período, que foram os computadores da linha X e o sistema operacional SOX, compatível com o Unix e reconhecido internacionalmente pelo X-Open. Os computadores da linha X eram micros e super-microcomputadores baseados em processadores Motorola, que, nos modelos maiores X-3030 e X-3035, incorporavam arquitetura de multiprocessamento, uma grande novidade na época. O computador X-10 era baseado no processador Motorola 68010, já os computadores X-20 e X-30 utilizavam os processadores Motorola MC6020 e MC68030. Como características de “hardware” comuns com o projeto Pegasus-32X da UFRJ, além do uso de microprocessadores da Motorola, apresentava o uso de barramentos padronizados do tipo VME, compartilhado entre as várias placas do sistema: processador, memória e controladores de periféricos. Todas as placas processadoras tinham memória cache e gerência de memória com segmentação (X-10) ou paginação (X-20). Os controladores inteligentes (com processadores de 8 bits) de E/S disponíveis eram os de linhas síncronas, linhas assíncronas, de impressora, de discos Winchester e uma controladora específica para o barramento SCSI para interconexão de unidades de disco e fita magnéticos externos. Embora não tenha havido um acordo formal de transferência de tecnologia entre a UFRJ e a Cobra Computadores, diversas soluções de sucesso no projeto Pegasus/Plurix foram empregadas nos sistemas desenvolvidos na linha X da Cobra. Na prática essa transferência ocorreu através da contratação de pessoal técnico (o autor) da equipe de projeto Pegasus-32X pela Cobra computadores, no início de 1984. A partir daí, pode essa influência pode ser vista claramente no artigo apresentado na SUCESU de 1986 (Rodrigues, 1986), onde detalhes da arquitetura da nova máquina da Cobra foram apresentados. As similaridades podem ser encontradas em detalhes como o uso do monitor de via (”bus watch dog”), presentes nos dois projetos, como forma de viabilizar o uso de várias placas de processadores com cache, compartilhando a mesma memória. Com relação ao SOX, foram realizadas diversas reuniões e cursos de treinamento com o Prof. Newton Faller e a equipe de técnicos do projeto do SOX, da Cobra. Essa influência por parte de software fica claro nas declarações de um dos mentores do SOX (Marques, 2007): “sem que em nenhum momento fosse pensada uma interface Unix ... a arquitetura é adotada como base para o SOx. No primeiro momento o SOx não era Unix-like. Existia um desenvolvimento de hardware, de software e uma interface entre software e hardware. Era para ser desenvolvido com system calls. ... o Professor Newton Faller treinou alguns técnicos da Cobra em Unix. Ele ensinou o início.” Assim, indubitavelmente, identificamos a participação decisiva da academia no desenho das soluções de “hardware” e “software” empregadas nos projetos dos sistemas desenvolvidos e comercializados pela empresa Cobra Computadores durante as décadas de 70 e 80. VI- Conclusão Neste artigo procuramos demonstrar a contribuição direta de dois projetos acadêmicos, quais sejam, o computador G-10 da USP e PUC/RJ, e o projeto Pegasus/Plurix na UFRJ, para os dois grandes projetos comerciais de enorme relevância tecnológica desenvolvidos pela Cobra Computadores durante sua existência. Essa contribuição só foi possível pela existência de uma política governamental de financiamento aos projetos acadêmicos, através de órgãos de fomento, como o BNDES e FINEP, além de uma política de reserva de mercado que incentivasse às empresas o desenvolvimento de tecnologia nacional, em vez de simplesmente importar soluções dos centros de maior desenvolvimento tecnológico no exterior. Embora alguns projetos deste tipo ainda tenham sido desenvolvidos pela academia durante a década de 90 (Aude, 1990, Amorim, 1996), com o final da reserva de mercado não houve o incentivo necessário para a absorção e/ou transferência dessas tecnologias desenvolvidas para a indústria. Finalmente, após o ano 2000, cessam os investimentos dos órgãos de fomento para este tipo de desenvolvimento na academia, também em função de uma política de avaliação da CAPES para os órgãos de pesquisa nas universidades baseada unicamente na quantidade de artigos acadêmicos publicados em revistas qualificadas no primeiro mundo. Esses projetos exigem um grande tempo de maturação e um alto investimento e, desse modo, este tipo de atividade de desenvolvimento tecnológico praticamente não existe mais nas universidades e centros de pesquisa nacionais. VII- Referências Bibliográficas (Aude, 1990) Julio Salek Aude et al., “Multiplus: Um Multiprocessador de Alto Desempenho”, Anais do X Congresso da Sociedade Brasileira de Computação, pp. 93-105, Julho de 1990. (Amorim, 1996) Claudio Luís de Amorim et al.. “A Segunda Geração de Computadores de Alto Desempenho da COPPE/UFRJ”, Anais do VIII Simpósio de Arquitetura de Computadores e Processamento de Alto Desempenho, pp 87-98, Recife, 1996. (Cardi, 2012) Marilza l. Cardi, Jorge M. Barreto, “Primórdios da Computação no Brasil”, Anais do Simpósio de História da Informática na América Latina e Caribe, CLEI 2012. (Bianchi, 1988) Paulo Bianchi, E assim se passaram, quem diria, vinte anos..., NCE/UFRJ, 129 pp, 1988. (Dantas, 1989) Marcos Dantas, O Crime de Prometeu. Abicomp, 75 pp,1989 (Faller, 1984) Newton Faller et al. “O Projeto Pegasus/Plurix” Anais do XXVII Congresso Nacional de Informática - SUCESU 1984, pp 10.4, Rio de Janeiro, Novembro de 1984 (Marques, 2007) Ivan C. Marques, Márcia O. Cardoso, Vitor A. Barcellos “SOX: um sistema operacional tipo Unix independente da AT&T no Brasil da década de 1980”, Anais del 1er Congreso Latinoamericano de Historia Económica, 4ta Jornadas Uruguayas de Historia Económica, CLADHE I - IV JUHE, Montevideo, Dezembro de 2007 (Rodrigues, 1984) Silvia Helena V. Rodrigues, Rastro de Cobra, 74 pp, 1984 (Rodrigues, 1986) Rogerio Rodrigues, Gabriel P. Silva, “Um Supermini com Arquitetura baseada em Múltiplos Microprocessadores de 32 bits” Anais do XIX Congresso Nacional de Informática - SUCESU 1986, pp 131-135, Rio de Janeiro, Agosto de 1986.