Informática Numaboa
UNIX - a história do precursor do Linux
Sex 12 Fev 2010 18:34 |
- Detalhes
- Categoria: + Linux
- Atualização: Segunda, 22 Abril 2013 20:16
- Autor: vovó Vicki
- Acessos: 7361
Como administradora de sistemas, há mais de 10 anos coloquei minhas fichas no Linux e não me arrependo nem um pouquinho. Um dos motivos pelos quais tomei esta decisão foi justamente o argumento que grandes empresas que comercializam sistemas proprietários de código fechado usavam (e continuam usando) para tentar desmerecer o Linux: a falta de uma estrutura de atendimento para os usuários do sistema. O que esqueciam de acrescentar era apenas uma palavra - pago, a falta de atendimento pago, porque, pesquisando na Internet, percebi que teria um atendimento gratuito e mais do que eficiente da comunidade global que cuida e aperfeiçoa o sistema. Este aparente paradoxo chamou minha atenção: tinha tudo para ser um engodo para administradores. Como sou eu quem paga as contas...
Hoje, depois de um longo período sem contratempos e sem despesas desnecessárias, resolvi dar uma olhada na origem do Linux. Como não poderia deixar de ser, acabei esbarrando no UNIX. Vou escrever alguma coisa sobre ele para esclarecer como a comunidade do código aberto tornou possível optar por sistemas operacionais robustos sem ter que gastar milhões e correndo um mínimo de risco.
Quando digo um mínimo de risco quero dizer performance e estabilidade. Não sou a única que tem esta opinião. Pelas últimas estatísticas do Top 500 Supercomputers, em novembro de 2009 mais de 90% dos supercomputadores do mundo usavam o UNIX ou o Linux como sistema operacional. Veja na tabela abaixo:
Sistema Operacional | Contagem | % | N° de processadores |
---|---|---|---|
Linux | 446 | 89.20% | 3.253.501 |
Unix | 25 | 5.00% | 124.274 |
Windows | 5 | 1.00% | 59.072 |
Baseados no BSD | 1 | 0.20% | 1.280 |
Mistos | 23 | 4.60% | 1.226.500 |
Total | 500 | 100% | 4.664.627 |
O início da história
A história do UNIX tem mais de 40 anos. Tudo começou em 1969 quando os Laboratórios da Bell Telephone (BTL) da AT&T, juntamente com a General Electric e o MIT, iniciaram um projeto chamado MULTICS. O objetivo era criar um sistema operacional que permitisse que milhares de usuários usassem simultaneamente um grande computador. Este projeto, por ter sido muito ambicioso para a época, acabou falhando.
Enquanto o MULTICS estava em andamento, Ken Thompson e Dennis Ritchie, dois engenheiros do projeto, acharam um computador DEC PDP7 que ninguém estava usando. Este computador possuía apenas um assembler e um programa de carregamento. Os dois, muitas vezes usando seu tempo livre, desenvolveram para teste partes do UNIX, um assembler e o kernel rudimentar do sistema operacional.
Neste mesmo ano, em 1969, Thompson teve a ideia de criar um sistema de arquivos para o novo kernel. Bolou uma estrutura hierárquica de diretórios (hoje também chamados de pastas por influência da Micrsoft) onde os arquivos podiam ser armazenados numa forma ordenada. Depois de mais de dois meses de discussões teóricas, o sistema foi implementado em apenas alguns dias (provando que desde sempre o planejamento é tudo ). À medida que o sistema amadurecia e depois que mais alguns engenheiros resolveram cooperar, a máquina começou a não aguentar o tranco. A turma então começou a arquitetar um plano para solicitar uma máquina mais poderosa, o que não era muito fácil de justificar porque, naquela época, um computador melhorzinho chegava a custar cerca de US$ 100.000!
Como o UNIX era um projeto paralelo desenvolvido nas horas vagas, a equipe precisou bolar (bem no estilo brazuca) um plano para justificar tal solicitação. Resolveram calçar o pedido dizendo que a nova máquina seria necessária para desenvolver um processador de texto, algo que estava dando um retorno financeiro muito bom naquela época... e conseguiram! Pouco tempo depois receberam a autorização para adquirir um PDP11.
Quando o novo equipamento chegou tiveram uma surpresa: receberam apenas a CPU e a memória, mas nada de meio de armazenamento (disco) ou sistema operacional. Thompson, não podendo esperar, criou um disco RAM e, deste modo, "sequestrou" a metade da memória da máquina para seu disco virtual; a outra metade ficou para o sistema operacional. Quando finalmente o disco chegou, a equipe continuou trabalhando no desenvolvimento do UNIX e do prometido processador de texto (a desculpa para a aquisição). O processador de texto, chamado de Troff, foi um sucesso. Posteriormente foi usado para criar as páginas man do UNIX, portanto, o Bell Labs foi o primeiro a usar este sistema ainda rudimentar.
A filosofia UNIX
Desde o início a idéia era
- escrever programas que fizessem apenas uma coisa e a fizessem bem,
- criar programas que trabalhassem em conjunto e
- escrever programas que tratassem de fluxos de texto.
Uma característica muito importante que não pode ser esquecida é que o UNIX foi um dos primeiros sistemas concebidos para ser independente da arquitetura do hardware. Isto permitiu que o sistema fosse implantado em vários tipos de máquinas e, no final de 1971, o número de usuários externos era tanto que foi preciso escrever um manual.
Thompson e Richie criaram o primeiro manual do usuário. Pouco mais de meio ano mais tarde foi lançada a segunda edição do manual, conhecida como V2. O número da versão do manual correspondia à versão do UNIX: na época do V2 havia 10 sistemas instalados (é isto mesmo, não 10.000 ou 10 milhões); na época do V5 havia cerca de 50 sistemas instalados.
O UNIX "pegou"
No final de 1973 foi resolvido que se deveria apresentar os resultados obtidos com o UNIX numa conferência sobre sistemas operacionais. A reação foi imediata - vários centros de TI e universidades solicitaram cópias do UNIX. A AT&T concordou com os pedidos fornecendo cópias para universidades, mas sem suporte ou manutenção. Isto fez com que os usuários do UNIX formassem comunidades para trocas de idéias, informações sobre programas e bugs, o que acabou gerando uma boa base de conhecimento. Depois de algum tempo foi criada uma associação de usuários de UNIX, a chamada USENIX, que existe até hoje. O primeiro encontro desta associação, que contou com pouco mais de 10 integrantes, aconteceu em maio de 1974.
Uma das universidades que obteve uma licença UNIX foi a Universidade da Califórnia em Berkeley, onde Ken Thompson havia estudado. Em 1975, Thompson voltou para a universidade como professor e levou consigo a última versão do UNIX. Conheceu dois recém-formados, Chuck Haley e Bill Joy, e os três começaram a trabalhar numa implementação. Uma das coisas que deixavam a desejar eram os editores e Joy resolveu aperfeiçoar um editor chamado EX até transformá-lo num editor visual de tela cheia. Adivinhe só qual foi o resultado: o nosso velho e conhecido VI! Haley e Joy também desenvolveram um compilador Pascal que também foi incorporado ao UNIX. Como havia uma certa procura para esta implementação, Joy começou a produzi-la sob a denominação BSD (Berkeley Software Distribution) ou UNIX BSD.
Em 1978 a BSD tinha uma cláusula na sua licença referente ao preço: dizia tratar-se do custo da mídia e da distribuição. O que ocorreu foi que novos usuários faziam algumas alterações ou incorporavam novas funcionalidades e vendiam as cópias remodeladas. Depois de algum tempo, estas alterações eram incorporadas à versão seguinte da BSD.
O passo seguinte era adaptar o UNIX a diferentes tipos de arquitetura - até 1977 ele só rodava em máquinas PDP. As primeiras adaptações foram feitas para os computadores existentes na época, Interdata e IBM. A versão 7 do UNIX, de junho de 1979, foi a primeira versão portável. Além disto, incluía novas funcionalidades como awk, lint, make e uucp. A esta altura o manual já possuía 400 páginas mais dois apêndices com também 400 páginas cada um. Esta distribuição também incluía um compilador C, desenvolvido no Bell Labs por Kernighan e Ritchie, que foi criado para reescrever a maior parte do UNIX, inicialmente em assembly e depois em C com partes em assembly que dependiam exclusivamente da arquitetura. Ainda fazendo parte desta distribuição havia uma shell melhorada (Bourne shell) e comandos como find, cpio e expr.
A indústria do UNIX também começou a crescer com implementações fornecidas por empresas como a Xenix, uma colaboração entre a Microsoft e a SCO. Foi neste ponto que começaram os problemas. A AT&T percebeu que o UNIX era um produto de alto valor e resolveu proibir o estudo no meio acadêmico da versão 7 para proteger seu segredo comercial. Até então, muitas universidades usavam o código fonte do UNIX para ensinar sistemas operacionais; a partir da proibição o ensino passou a ser apenas teórico. Atitudes proprietárias nunca deram bom resultado e, neste caso, a coisa não foi diferente.
UNIX no domínio público
Todos os interessados começaram a resolver o problema de alguma forma. Em Amsterdã, na Holanda, Andrew Tanenbaum, famoso autor de livros sobre sistemas operacionais, resolveu driblar a proibição do seu modo: escreveu um sistema operacional do tipo UNIX sem usar uma única linha de programação da AT&T. Ele batizou este novo sistema operacional de Minix que, em 1991, foi usado por um estudante finlandês para criar sua nova versão do UNIX que recebeu o nome de Linux.
Em nível individual o problema estava bem equacionado; em nível de empresas, a reação não foi muito diferente. Bill Joy, que ainda estava em Berkeley, resolveu sair para trabalhar em uma nova empresa chamada Sun Microsystems e continuar a desenvolver a BSD. Chegou na versão 4.2, a qual, em 1983, se transformaria no SunOS. A IBM desenvolveu o AIX, a DEC o Ultrix, a Microsoft/SCO o Xenix e por aí vai. Não deu para segurar...
Em 1990 a AT&T, que detinha o monopólio da telefonia nos EUA, foi obrigada a abrir mão desta posição privilegiada e foi dividida em várias empresas de menor porte. Nesta ocasião, o UNIX "oficial" começou a passar de mão em mão: OSF e UI (Unix International), USL (Unix System Laboratories que denunciou a Berkeley por cópias ilegais e perdeu), Novell (que comprou os direitos da USL) que cedeu uma parte para a SCO e por aí vai. A confusão é tamanha que até hoje ninguém sabe quem é quem nesta briga de "direitos". O fato é que, a partir do surgimento do Linux em 1991, a importância da "propriedade" do "código secreto" do UNIX começou a cair vertiginosamente.
O Linux firmou posição entre 1995 e 1999. Desde então, tem sido uma alternativa séria para os assim chamados sistemas UNIX proprietários. Podemos afirmar que é a vitória do código aberto sobre o código proprietário e uma grande lição, que prova mais uma vez que o interesse individual não tem chance de sobrepujar a dedicação e o trabalho que dão suporte ao interesse coletivo