Linux Essencial/História do Linux: diferenças entre revisões

(Criou a página com "== História do Linux == Para entender como foi criado o Linux é necessário entender o sistema operacional em que ele foi baseado, o Unix. O Unix tem suas raízes no proje...")
 
 
O projeto MULTICS era muito grandioso e complicado desde o início. Seu nome origina-se das várias funcionalidades complexas para a época, tais como: multi-usuário, multi-processador, multi-níveis de diretórios, além de outros “multi”. Depois de vários anos, como seus objetivos não foram alcançados em 1969, a AT&T resolveu abandonar o projeto, adotando o sistema GECOS como seu S.O. padrão, sendo ele muito mais modesto em termos de tecnologia. Segundo declarações da época, cada instituição do consórcio tinha objetivos divergentes, o que levou ao atraso do projeto (veja link [2], Uma breve história do Unix).
 
[IMAGEM]
 
No entanto, Ken Thompson e Dennis Ritchie, que trabalhavam na Bell Labs - na época subsidiária de pesquisa da AT&T- haviam criado um jogo chamado “Space War” (veja link[3], Space War - o jogo que motivou a criação do Unix). Com o fim do projeto e motivados a continuarem com a utilização do jogo, eles tiveram que reescrever todo o sistema operacional para um computador disponível que era bem menos potente, um DEC PDP-7, de 4 kbytes de memória. Criando um trocadilho bem humorado, eles resolveram dar o nome UNIX, acrónimo de ''UNiplexed Information and Computing Service'' , e que poderia ter sido escrito UNICS, mas resolveram utilizar UNIX, por ter a mesma pronúncia. Thompson concluiu o trabalho de criar todo o Unix no verão de 1969, utilizando a linguagem BCPL (também chamada de B), e que contava com as funções básicas: editor de texto, montador (ou ''assembler,'' que transforma linguagem ''assembly'' em linguagem de máquina) e interpretador de comandos (ou ''shell'' , este será visto mais a frente com maiores detalhes).
 
O sistema foi continuado dentro da Bell Labs, chegando a poucas dezenas de instalações, porém só obteve grande crescimento após ter sido totalmente reescrito na linguagem C, o que permitiu uma portabilidade melhor para outras plataformas. A linguagem C foi derivada da linguagem B e criada por Dennis Ritchie e Brian Kernighan. Nesta época, o sistema já contava com mais de 60 comandos, muitos deles ainda utilizados até hoje, tais como: cd - trocar de diretórios, chmod - trocar permissões, wc - contar palavras em arquivos, roff - processar texto, etc. O seu crescimento e reconhecimento culminou com a publicação na renomada revista “ ''Communications of the ACM'' ” (veja link [4] ACM - Association for Computer Machinery), em julho de 1974.
 
Com sua filosofia de simplicidade, padrões abertos e seu licenciamento facilitado pela AT&T, o Unix se espalhou e se desenvolveu rapidamente pelas universidades. Várias versões de Unix foram surgindo, sendo que a principal delas foi desenvolvida na Universidade de Berkeley, denominada BSD (Berkeley Software Distribution), um software liberado publicamente em 1977, predecessor dos atuais e bem-sucedidos BSD's (FreeBSD, OpenBSD e NetBSD). Outras versões comerciais também foram surgindo, tais como: Irix pela SGI em 1982, XENIX pela SCO em 1983, HP-UX pela HP em 1986, SunOS pela Sun em 1987 e AIX pela IBM em 1990 (veja link [5], Cronograma histórico do Unix).
 
Com tantas variedades de Unix surgindo, todos com a mesma arquitetura e filosofia de sistema, porém com tendências a se divergirem, surgiu o POSIX (Portable Operating System Interface for UniX) em 1985, um conjunto de padrões definidos pelo IEEE e pela ISO que define características essenciais de sistemas Unix (veja os links [6], Padrões IEEE, e [7] Padrões ISO). O POSIX não permitiu compatibilidade de rodar programas binários entre os vários Unix, mas sim facilidade de portar um programa de um Unix para outros, através de compilação de código-fontes em C.
 
O POSIX continua mantido até hoje, através de um comitê do IEEE, denominado PASC (Portable Application Standards Committee, veja link [8], Padrão POSIX) e além dele, também surgiu um consórcio de empresas denominado Open Group (veja link [9], Open Group), que realiza um trabalho semelhante, através do padrão “Single Unix Specification”. Como as normas da IEEE não podem ser publicadas livremente, há uma tendência em seguir o padrão da Open Group, por ser livre, aceitar contribuições e estar disponível na internet. Devido à esta variedade de sistemas operacionais seguindo os mesmos padrões é que o Unix atualmente é considerado não mais um sistema operacional, mas sim uma família de sistemas operacionais.