Site hosted by Angelfire.com: Build your free website today!

História do unix

O unix tem uma longa e interessante história. Aquilo que começou como um passatempo de um jovem pesquisador, tornou-se um empreendimento que gera bilhões de dólares, envolvendo universidades, corporações multinacionais, agências governamentais, e entidades internacionais de padronização. Citaremos a seguir um breve e resumido histórico desse sistema operacional, o UNIX.

A princípio torna-se indispensável a abordagem da situação histórica que resultou no Unix. Nos anos 40 e 50, existia um problema da maneira que os computadores eram utilizados, ou seja, era preciso o usuário enviar ao centro de processamento de dados um job em cartões perfurados, para que estes fossem processados. Após uma série de submissões o usuário podia buscar listagem contendo os resultados do seu programa.

Para tentar solucionar tal impasse, o sistema de compartilhamento de tempo foi inventado no Darmouth College e no M.I.T. . Em pouco tempo, os pesquisadores do M.I.T. se juntaram ao da General Electric e os do Bell Labse desenvolveram um sistama de segunda geração, o Multics (Multiplexed Information and Computing Service). Este sistema não teve muito sucesso, pois um dos motivos do seu insucesso foi o fato de ele ter sido escrito em PL/I, uma linguagem muito pesada, com compilador muito ineficiente.

Com esse fracasso, a equipe do Bell Labs fez com que um de seus pesquisadores, Ken Thompson , começasse a reescrever o Multics, em linguagem de máquina e com muito menos ambição, usando um PDP-7. A denominação veio a partir de outro pesquisador, Brian Kernighan, chamando o sistema de Unics.

Com este sucesso e admiração, o trabalho de Thompson teve logo adesão de Dennis Ritchie. A partir daí, o unix saiu do PDP-7 para os então modernos PDP-11/20, logo depois PDP-11/45 e para o PDP-11/70, sendo que estas duas últimas máquinas dominaram o mercado durante toda a década de 70. Com estas evoluções, Thompson reescreveu o Unix na linguagem B. Como esta linguagem tinha suas debilidades, Ritchie desenvolveu a linguagem C, e escreveu um compilador para ela.

Em 1974, Ritchie e Thompson publicaram um artigo sobre o Unix, que teve seu devido reconhecimento com o recebimento do Turing Award. Com isso muitas universidades começaram a solicitar ao Bell Labs cópias do Unix.

A versão que se tornou padrão no mundo acadêmico foi a 6, e poucos anos depois foi substituida pela 7. Toda uma geração de estudantes foi formada neste sistema o que contribuiu para sua divulgação fora do círculo acadêmico. Já em meados dos anos 80, o Unix era amplamente utilizado tanto em minicomputadores como nas estações de trabalho de várias empresas.

O primeiro sistema Unix implantado numa máquina diferente do PDP-11 rodou no minicomputador Interdata 8/32. Isto revelou que o Unix mantinha uma série de compromissos com a máquina hospedeira, entre eles considerar que todos os números inteiros eram de 16 bits, que todos os ponteiros eram de 16 bits também, e que a máquina possuia três registradores disponíveis para armazenamento temporário, isto caracterizava o UNix no PDP-11, e nenhuma delas era válidas no Interdata.

Um outro problema que apesar do compilador C ser muito eficiente e rápido, ele só gerava código objeto para o PDP-11. Ao invés de escrever um compilador para cada máquina específica, Steve Johnson do Bell Labs projetou e implementou um compilador C portátil, que pode ser customizado para gerar código objeto para qualquer máquina. Por diversos anos, quase todos os compiladores C eram baseados naquele projetado por Johnson, o que facilitou a difusão do Unix e seu emprego em novas arquiteturas.

Uma das primeiras universidades a adquirir o Unix versão 6 foi a University of California at Berkeley, com o código fonte disponível. Sendo assim o pessoal de Berkeley, foi capaz de analisar e modificar o sistema, chegando a produzir o 1SBD( First Berkeley Software Distribution), com o apoio do DARPA, Defense Advanced Research Projects Agency, esta versão e suas subsequentes( 2BSD, 3BSD, 4BSD) foram desenvolvida para o PDP-11.

A versão 4BSD incorporava um grande número de melhoramentos. O principal deles foi o uso da memória virtual e da paginção, permitindo que os programas fossem maiores que a memória física, dividindo-os em páginas que iam e vinham da memória, conforme a necessidade. A ligação em rede de máquinas Unix, outra carcterística desenvolvida em Berkeley, fez com que o protocolo de rede do BSD, o TCP/IP, se tornasse o padrão com uma utilização muito maior que a dos padrões oficiais, como o OSI.

O pessoal de Berkeley acrescentou vários utilitários ao Unix, tais como um novo editor de texto, um novo shell, compiladores Pascal e Lisp entre outros. Essas modificações fizeram com que vários fabricantes de computadores baseassem suas versões do Unix no Unix de Berkeley, oa invés da versão oficial da AT&T, o System V.

A falta de padronização do Unix, com a divulgação de duas versões incompatíveis e diferente, a 4.3BSD e a System V release 3, além de cada fabricante adicionar seus próprios melhoramentos, levou a um racha no mundo do Unix. Somado ao fato de não haver padrão para o formato dos programas em binário, isso inibiu o sucesso comercial desse sistema.

A primeira tentiva de rencociliar as duas vertentes do Unix começou com o Comitê de Padronização do IEEE. O nome do projeto foi POSIX. Este produziu um padrão chamado 1003.1. A idéia do POSIX era de que o fornecedor de software que escrevesse programas para Unix tivesse certeza de que, se usasse apenas os procedimentos definidos pelo padrão 1003.1, seu programa ia rodar em qualquer sistema Unix aderente ao padrão.

Apesar de o padrão 1003.1 preocupar-se somente com as chamadas de sistemas, outros documentos também produzidos sob a inspiração do comitê tentaram padronizar os programas utilitários, a ligação em rede, e muitas outras características do Unix. A linguagem C também foi padronizada pelo ISO e pela ANSI.

Um grupo de empresas não queria ver a AT&T ditando as regras do Unix e formaram um consórcio OSF (Open Software Foundation), para produzir um sistema que estivesse de acordo com todos os padrões vigentes, não só o IEEE, mas que também continha algumas características adicionais, tais como um sistema de janelas, uma interface gráfica, processamento distribuído e muito mais. Como toda ação tem uma reação, a AT&T constituiu seu próprio consórcio, o UI (Unix International). A versão UI do Unix é baseado no System V.

O resultado dessa concorrência levou a um sem querer, porém "satisfatório" . Pois os usuários estão tão próximos de um padrão quanto estavam antes da iniciativa do IEEE.

Portanto, uma propriedade comum a todos esses sistemas é o fato de eles serem extremamente grandes e complexos, justamente o contrário da idéia original do Unix.