quarta-feira, 7 de maio de 2008

História

Nos anos 60, o MIT, a Bell Labs e a General Electric (grande produtora de electrónica na altura) constataram o sucesso gerado por sistemas proprietários que suportavam os conceitos multi-utilizador, ou seja, vários utilizadores simultâneos, e multi-programação, onde a execução de várias aplicações era feita aparentemente em simultâneo, simulada através da atribuição curta e periódica do CPU a cada aplicação. Dada essa constatação, desenvolveram o MULTICS (MULTiplexed Information and Computing Service). Porém esse projecto nunca chegou ao fim pois, após encontrarem-se problemas de difícil resolução a Bell Labs retirou-se e a General Electric desitiu completamente do negócio de computadores.

Entretanto, um dos engenheiros da Bell Labs, que tinha participado no projecto MULTICS, Ken Thompson, descobriu um computador PDP-7 que não estava sendo usado e começou a desenvolver uma versão simplificada do MULTICS, testando algumas teorias que deveriam eliminar alguns dos problemas que tinham encontrado. Esse sistema mais tarde tornou-se no hoje conhecido UNIX, que se tornou muito popular tanto a nível académico como para órgãos do governo americano. Porém essa popularidade, derivada do facto do UNIX ser acompanhado pelo seu código fonte, teve um lado negativo: vários fabricantes começaram a desenvolver sistemas baseados no UNIX, criando um enorme ambiente de incompatibilidade na indústria. Foi, por essa razão, que o Institute of Electrical and Electronic Engineers (IEEE) desenvolveu um padrão a que chamou de POSIX, que consistia num conjunto de chamadas de sistemas (system calls) básicos que deveriam ser suportados por todas as variações.

Com o lançamento da versão 7 do UNIX, a AT&T notou que o UNIX se estava a tornar num produto comercial valioso, pelo que fez a sua distribuição sem o código fonte, o que tornou o ensino no mundo académico de sistemas operativos uma impossibilidade, visto ser uma disciplina maioritariamente prática, onde se aprende mais estudando exemplos reais do código fonte. Para corrigir essa situação, Andrew S. Tanembaum decidiu escrever de raíz um novo sistema que seria compatível com o UNIX, mas que não utilizaria nenhuma linha de código deste, de forma a livrar-se das restrições das patentes da AT&T. Este sistema era o MINIX (mini-UNIX), e foi amplamente aceite no mundo académico.

Contudo, para manter a sua popularidade académica, Tanenmbaum recusou durante anos a alteração, o acréscimo e melhorias ao código fonte, pois a ideia não era desenvolver um sistema eficiente e poderoso como o UNIX, mas sim manter simples e claro um código que viria a ser estudado nas universidades. Por essa razão, foi criado um clone do MINIX, para que se suportassem muitos mais recursos e que deveria ser muito mais eficiente e, consequentemente, complexo que o MINIX. Esse sistema era o Linux, e o estudante finlandês que teve essa iniciativa e que ainda hoje desenvolve o kernel do Linux chama-se: Linus Torvalds.

Sem comentários: