UNIX – A Origem dos Sistemas

Conheça a base de todos os principais sistemas operacionais atuais (exceto o Windows): O UNIX!


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


1. Introdução

Trago a vocês um pouco da história por trás da história: as origens do UNIX® e sua relação, influencia e base de desenvolvimento dos principais sistemas operacionais que possuem alguma inspiração nele: Linux, BSD, Solaris, AIX, Android e outros.

2. O que é o UNIX®?

Muito se fala nesse tal de UNIX, sistemas que são baseados nele e até sistemas que se parecem com ele (UNIX-like)… Afinal, quem é ele?

É um sistema operacional, tal qual o Microsoft Windows ou o Apple macOS, porém lançado em 1969 pela AT&T. – mais precisamente 54 anos atrás a partir da data desta publicação!

O conceito do sistema é mais antigo, datando do fracassado Multics lançado em 1964.

2.1 Multics

Originalmente, este surgiu do resultado do projeto liderado pelo MIT, com Fernando Corbató, junto da divisão de produtos para grandes computadores da companhia General Electric e dos Laboratórios Bell de telefonia dos EUA.

Em 1969 a Bell retirou-se do projeto. Duas razões principais foram citadas para explicar a sua saída.

Primeira: três instituições com objetivos diferentes dificilmente alcançariam uma solução satisfatória para cada uma delas – o MIT fazia pesquisas, AT&T monopolizava os serviços de telefonia americanos e a GE queria vender computadores. A segunda razão é que os participantes sofriam da síndrome do segundo projeto e, por isso, queriam incluir no Multics tudo que tinha sido excluído dos sistemas experimentais até então desenvolvidos.

Ainda em 1969, Ken Thompson, usando um computador PDP-7, começou a reescrever o Multics num conceito menos ambicioso, batizado de UNICS, usando linguagem assembly.

Computador PDP7, produzido em 1965, custava US$ 72.000,00

Em 1971 Brian Kernighan rebatizou o novo sistema para UNIX.

Um marco importante foi estabelecido em 1973, quando Dennis Ritchie e Ken Thompson reescreveram o UNIX, usando a linguagem C, para um computador PDP-11. A linguagem C havia sido desenvolvida por Ritchie para substituir e superar as limitações da linguagem B, desenvolvida por Thompson.

Dennis MacAlistair Ritchie, pai da linguagem C e um dos pais do UNIX®

Dessa versão adaptada para linguagem C, surgiu, em 1983, outras 4 versões, sendo o System V 4 a mais popular delas, que serviu de base para vários sistemas, cimentando os padrões atuais.

Diversas empresas adquiriram a licença do UNIX e criaram a sua própria versão – por isso a necessidade de se especificar que este, que citei, era o da AT&T, o primeiro UNIX de muitos. De forma grossa e resumida, ele só rodava em computadores potentes – licenciados e com um custo de aquisição, tal qual o Windows® porém àquele tempo era muito mais caro.

Tela de login do AT&T UNIX® System V

3. A Origem do GNU

O UNIX® e seus softwares proprietários estavam bem consolidados no mercado, quando, em meados de 1983 Richard Stallman começou a desenvolver o projeto GNU – Acrônimo recursivo que significa GNU is Not UNIX – um sistema operativo com ferramentas que seriam totalmente livres de direitos autoriais e livres para serem gratuitas.

Richard Stallman, mostrando seu notebook de trabalho que roda sob uma BIOS Open Source de sua autoria.

O pacote GNU possuía – e ainda possui – o terminal BASH – Bourne Again SHell -, o compilador GCC, o bootloader GRUB, entre outros. Posteriormente outros pacotes foram sendo agregados ao sistema.

4. MINIX: Uma Ponte para o Futuro

Num tempo em que a informática engatinhava para os lares, ter um computador e um sistema como o UNIX era algo apenas do mundo dos sonhos. Era um sistema para uso científico e empresarial. Dessa necessidade, desse ímpeto de ter em mãos o poderoso e bem elaborado sistema UNIX, surgiu um professor, Andrew S. Tanenbaum, quem desenvolveu um pequeno projeto chamado MINIX.

O MINIX nasceu com o objetivo de ser ensinado nas universidades e usado pelos alunos e seus mestres – como eu disse, o UNIX era caro, e o MINIX seria a copia barata e simples do UNIX. O sistema foi lançado em 1987.

Andrew S. Tanenbaum

O MINIX fez muito sucesso nas instituições de ensino e só não cresceu mais porque Andrew deixou claro que não queria que seu sistema fosse usado para outros fins a não ser aqueles voltados a estudos e aprendizado. Mesmo com a insistência de seus alunos em colaborar com o código para melhorá-lo e ampliá-lo, o professor foi relutante em deixar seu sistema crescer.

O MINIX hoje está em sua versão 3.3.0 e é utilizado em 2 causas nobres para a informática:

  1. Ele é amplamente utilizado para compilar o kernel e sistemas Linux.
    Um sistema Linux pode compilar o Linux, mas um sistema MINIX compila melhor.
  2. O MINIX é um micro sistema operacional que executa no núcleo do hardware das CPU’s Intel.

Os processadores Intel são como um micro computador inteiro, com o núcleo de processamento, RAM e ROM; gravado na ROM, temos um micro sistema operacional MINIX, quem controla as instruções da CPU!
Formatar esse sistema está fora de questão, somente a Intel tem acesso.

Mais detalhes sobre o núcleo MINIX executando dentro dos processadores Intel, poderá ler nesta publicação!

5. A Origem do Linux

Linus Torvalds começou um projeto que inicialmente era um pequeno kernel rodando um emulador de terminal, o qual ele usava para acessar os grandes servidores UNIX da universidade em que estudava.

Ele escreveu um programa especificamente para o hardware que estava usando e independente de um sistema operacional porque queria usar as funções, tirar melhor proveito de seu novo computador com um processador 80386. O desenvolvimento foi feito no MINIX usando o GNU C compiler, o qual é ainda hoje a escolha principal para compilar o Linux.

Como Torvalds escreveu em seu livro Just for Funele eventualmente percebeu que havia escrito o núcleo de um sistema operacional.

Linus Torvalds, criador do kernel Linux

No dia 25 de agosto de 1991, ele anunciou esse sistema em um post no newsgroup “comp.os.minix.” da Usenet:

Olá a todos que estão usando minix –

Eu estou fazendo um sistema operacional livre (é apenas um hobby, não será grande e profissional como o gnu) para os clones AT 386(486). Está sendo desenvolvido desde abril e está quase pronto. Gostaria de receber qualquer feedback sobre o que as pessoas gostam/não gostam no minix, uma vez que o meu SO se parece um pouco com ele (mesmo layout físico de sistema de arquivos (devido a razões práticas) entre outras coisas.

No momento eu o portei para bash(1.08) e gcc(1.40), e as coisas parecem funcionar. Isso implica que irei conseguir algo prático dentro de poucos meses e gostaria de saber quais características a maioria das pessoas gostaria que tivesse. Quaisquer sugestões são bem-vindas, mas não prometo que eu vá implementá-las 🙂 Linus (torvalds@kruuna.helsinki.fi)

PS. Sim — ele não tem nenhum código minix, e possui um fs multitarefa.

Ele NÃO é portável (usa troca de contexto 386, etc), e provavelmente nunca será compatível com nada além de discos rígidos AT, uma vez que isso é tudo o que eu tenho :-(.

Linus Torvalds

6. GNU Hurd, o Kernel do GNU!

O projeto GNU estava sólido o suficiente para ter ferramentas profissionais gratuitas ao alcance de todos porém, seu kernel, o Hurd, estava incompleto. O GNU não tinha um núcleo para funcionar independentemente. Enquanto Stallman preferiu que o kernel fosse livre sem drivers proprietários, o que não atraiu a atenção de desenvolvedores e atrasou seu desenvolvimento deixando-o obsoleto.

A primeira versão do Linux, a 0.01, era bem simples, o “sistema” que ele rodava era composto dos módulos (drivers) de hardware, o terminal shell e o compilador GCC e foi lançado em 1991.

Logo que o kernel foi liberado com o pacote GCC e o Shell, mais e mais estudantes e entusiastas foram respondendo sua solicitação em colaborar com o desenvolvimento do código. Em poucos meses a versão 0.02 do kernel foi lançada e sua popularidade só aumentou.

Basicamente o Linux como sistema nasceu da cópia da cópia do UNIX, com o essencial necessário para se auto-desenvolver. Assim como ocorreu nos tempos do UNIX de 1969, o próprio Linux possuía as ferramentas básicas para que seu desenvolvimento pudesse crescer consigo mesmo á medida que mais e mais usuários dedicados e interessados colaboravam com o projeto á pedido de Linus. Opostamente aos demais sistemas UNIX, o Linux almejava ser um sistema tão comunitário e livre tal qual Stallman pretendia com o GNU.

Porém, ao contrário do GNU, Torvalds não se incomodava do Kernel ter drivers proprietários. E isso fez toda a diferença!

7. Afinal, é Linux ou GNU/Linux?

A equipe do projeto GNU ainda insiste que o sistema Linux tal qual é conhecido, seja chamado de GNU/Linux; O Linux Journal especulou que a defesa de Stallman do nome venha da frustração de que “Linus ganhou a glória pelo que Stallman queria fazer”. E nesse ponto eles tem sua razão. Ao menos naquela época o Linux não seria nada sem o GNU e o GNU não seria nada sem o Linux: Os dois se completavam e era quase uma questão técnica de corretismo chamar o sistema de GNU/Linux.

GNU/Linux ou Linux? Um conflito que perdura a anos na comunidade OpenSource

Mas hoje temos uma centena de sistemas baseados em Linux cuja proporção de pacotes do GNU não contempla nem 10% desses sistemas. Se o Linux desktop merece ser chamado de GNU/Linux, o Android deveria se chamar Java/Linux, o Windows de NT/Windows e o macOS de Darwin/macOS, o que não é bem a realidade.

Hoje temos sistemas Linux sem GNU, tornando-o independente. O desenvolvimento do GNU também amadureceu e está independe do Linux. Chamar o sistema apenas de Linux não é meramente comodismo, é uma realidade. Só não se esqueça que Linux em si é apenas o Kernel e um Sistema Linux contempla Kernel + uma série de pacotes e ferramentas.

8. As origens de outros sistemas baseados em UNIX

8.1 BSD

O Berkeley Software Distribution (BSD, como é conhecido), é um sistema operacional que se baseou no UNIX com desenvolvimento derivado e distribuído pelo Computer Systems Research Group (CSRG) da Universidade da Califórnia, em Berkeley, entre 1978 a 1995.

Historicamente, o BSD ou Berkeley Unix, foi considerado uma ramificação do UNIX, da AT&T, porque compartilhou a base de dados inicial e era composto por parte do projeto original. Seu intento era ser um UNIX original livre de licenças para que pesquisadores e alunos pudessem desenvolver e aprender com ele na universidade.

Hoje o BSD é usado em firewalls como pfSense, além de ser a base dos sistemas do PlayStation 3, 4 e Nintendo Switch!

8.2 Solaris

Solaris é um Sistema Operacional UNIX desenvolvido pela antiga Sun Microsystems, hoje subsidiária da Oracle. As primeiras versões do Solaris (baseadas no código do BSD) foram chamadas SunOS, tendo o seu nome alterado para Solaris 2 quando passou a ser baseado no UNIX System V.
Entre suas características, temos: (Solaris 10, em 2005)

  • DTrace: análise e resolução de problemas de performance, em tempo real;
  • Solaris Containers: consolidação de aplicações em servidores de maior porte, através da criação de ambientes isolados e independentes
  • Predictive Self-Healing: capacidade de antecipar-se à ocorrência de falhas que possam causar paradas críticas, isolando-as e recuperando-se;
  • Smarter Updating: atualizações automáticas e inteligentes através do Sun Update Connection;
    Integrated Open Source Applications: disponibilidade de centenas de aplicações já integradas ao sistema;
  • ZFS: um novo tipo de sistema de arquivos que provê administração simplificada, semântica transacional, integridade de dados end-to-end e grande escalabilidade.

O sistema Solaris tem como grande foco servidores de grandes indústrias e empresas de grande porte, por isso sua impopularidade entre os usuários comuns.

8.3 AIX

Advanced Interactive eXecutive, ou simplesmente AIX, é uma versão da IBM do sistema operacional Unix que é executado em computadores IBM de médio e grande porte. Ele é um sistema comercial de código fonte fechado e se baseia no UNIX System V sendo muito utilizado em grandes corporações. Antes do produto ser comercializado, o acrônimo AIX era uma abreviação de Advanced IBM UNIX ou, em português, Unix Avançado da IBM.

Hoje seu uso é constante nos meios científicos e militares e seu custo de licenciamento, além de arquitetura peculiar o torna pouco disponível ao publico comum; Arquitetura esta focada nos PowerPC da IBM, não é um sistema que executa em máquinas comuns com arquitetura AMD64 ou i386.

9. Por que o BSD não faz sucesso como o Linux?

Graças a ideia de Linus de se basear no MINIX, o Linux é apenas “parecido” com o UNIX – por isso o chamamos de sistema UNIX-like ou baseado em UNIX – então não violou nenhum termo da AT&T. Muita coisa foi imitada mas não haviam cópias descaradas de códigos. O Linux estava livre para ser desenvolvido e utilizado sem restrições.

O BSD, porém, por ter pedaços do código original UNIX, sofreu duros processos judiciais da AT&T em 1992, congelando seu desenvolvimento por longos 2 anos e, enquanto resolvia seus imbróglios, o Linux crescia e se desenvolvia.

Problemas na justiça atrasaram o desenvolvimento do BSD

Sobre o caso do processo judicial aberto pela AT&T contra o BSD, segue a decisão judicial liberando o BSD do problema e permitindo a continuidade de seu desenvolvimento:

Foi alegado que foi copiado código e que houve roubo de segredos comerciais. O código real infrator não foi identificado por quase dois anos. O processo poderia ter se arrastado por muito mais tempo, mas é fato de que a Novell comprou a USL da AT&T e buscou uma solução. No final, foram removidos três arquivos de 18.000 que compunham a distribuição, e um número de mudanças menores foram feitas a outros arquivos. Além disso, a Universidade concordou em adicionar direitos de autor da USL a setenta arquivos, com a estipulação de que estes continuem a ser redistribuídos livremente.

Quando finalmente pôde adentrar o mercado com certa paz em idos de 1994, o Linux ja estava recebendo mais apoio e era um sucesso entre os estudantes. Mas de acordo com o próprio Linus Torvalds, se o 386BSD ou o GNU Hurd (kernel de Stallman) não estivessem disponíveis no momento, ele provavelmente não teria criado o Linux.

Obviamente que o projeto BSD hoje é tão grande como o Linux, ainda mais pelo agressivo desenvolvimento no aspecto segurança e usabilidade em data-centers mundiais. Mas é só até este ponto que o BSD compete diretamente com o Linux, pois até mesmo no uso doméstico, obviamente, notamos a presença mais marcante do Linux. Nichos tão distintos quanto a comparação Android e Windows.

10. UNIX Contemporâneo

A AT&T finalmente vendeu seus direitos do sistema UNIX para a Novell no início da década de 1990, que posteriormente revendeu para a Santa Cruz Operation (SCO) em 1995; mas a marca UNIX passou desde então para o consórcio de padrões da indústria The Open Group, que permite o uso da marca para sistemas operacionais certificados compatíveis com a Especificação Única UNIX (SUS). Entre estes sistemas temos o AIX da IBM e o Oracle Solaris. O macOS da Apple não apenas é UNIX como também é o UNIX mais popular desde 2014.

De fato não deixemos de apontar que o UNIX® perdeu sua popularidade entre os mainframes por alguns motivos; Entre eles, perdeu espaço para outros sistemas como o Windows Server em flexibilidade e o próprio Linux em ser baixo custo, além de que era altamente fragmentado e preso, cada versão, a um hardware específico. Ou seja, o UNIX® da AT&T só rodava em máquinas específicas enquanto que o Windows e o Linux rodavam praticamente em qualquer coisa, independente da marca ou modelo otimizando as manutenções corretivas, preventivas e expansão da produção.

O UNIX não deixou de existir, foi basicamente ramificado em outros sistemas certificados atuais, que respeitam suas normas POSIX e regras que comprovam serem sistemas UNIX legítimos, tal qual o original.

Quer conhecer o UNIX? Teste alguma versão do BSD – Como o GhostBSD por este ser mais amigável – ou mesmo o OpenSolaris da Oracle. São tão UNIX quanto o System V antigo e tão qual o Apple macOS é hoje. – No caso do BSD, não é certificado mas é muito próximo, muito mais que o Linux.

11. Falando da Apple…

A Apple, quando criou o Mac OS X, utilizou como base o XNU – “X is Not Unix” mas possui Certificação UNIX – evoluído do NexStep – parecido com UNIX tambem.

Seu kernel é curiosamente híbrido, conhecido como Darwin cujo interior é composto por 2 micro-kerneis: partes do BSD e de um outro chamado Mach, que operam juntos. macOS X não é e nem roda programas do BSD, apesar de ser parecido e ter alguns trechos do código BSD.

A compatibilidade de programas do macOS no FreeBSD só é possivel saciando dependências, reimplementando conteúdo do Darwin e do Mach, além de rodar API’s como o METAL (O “DirectX” da Apple).

Para saber mais sobre a certificação UNIX® do macOS, acesse aqui!

12. A Microsoft realmente não tem nada com essa história?

Bom, o sucesso do UNIX era tanto que até a Microsoft entrou na brincadeira e lançou o XENIX em 1980, desenvolvido e licenciado sob o UNIX da AT&T.

O XENIX foi um dos UNIX mais bem sucedidos da historia, se tomarmos como base a quantidade de computadores que eram vendidos com ele pré instalado, basicamente da mesma forma como a Microsoft distribui o Windows hoje, hardware casado com o software.

Porém a Microsoft abandonou o XENIX, prevendo sua queda, uma vez que haviam muitos sistemas no mercado; e apostou todas as suas fichas no Kernel NT lançando o sistema Windows. Ela queria abocanhar um mercado que estava engatinhando naquela época: ao lado do Macintosh, ela queria adentrar as casas e vender sistemas domésticos!

13. Da Ascensão á Queda: A Guerra do UNIX

A partir de 1979, com a popularização do UNIX da AT&T, surgiram as implementações comerciais do Unix para servidores: SunOS, Xenix, HP/UX e AIX, para citar apenas as mais conhecidas. Como as implementações de cada empresa eram ligeiramente diferentes entre si, a partir daí o UNIX não era mais “o UNIX”, um sistema operacional, mas sim “um UNIX”, um tipo de sistema operacional e isso que causou uma confusão sem precedentes no mercado. Como se não bastasse, os fabricantes vendiam (e ainda vendem), de forma casada, hardware e software, por preços bastante elevados. O AIX, da IBM, só funcionava em máquinas IBM, enquanto o Solaris só rodava em máquinas da Sun.

A escalada dessa corrida armamentista acabou afastando os potenciais compradores do UNIX, por despadronizarem o mercado, aproximando-os de um outro sistema operacional de servidor, não-Unix, que começou a crescer e se destacar: o Windows NT, da Microsoft. Além do próprio NT ser mais barato, o sistema rodava em PCs domésticos de baixo custo, ajudando a expandir-se no uso civil.

Microsoft Windows NT, que cresceu frente aos conflitos internos dos sistemas UNIX

Note que, o Windows, por ser o “único” sistema de sua categoria, se tornou o padrão do mercado e rapidamente se popularizou. Afinal, não temos nenhum outro sistema desktop feito sob o MS-DOS, desenvolvido e de grande porte tal qual o Windows.

14. Certificação UNIX

Como falei anteriormente, sistemas UNIX legítimos possuem certificação UNIX.

Essa Certificação é fornecida pela OpenGroup.org e sua relação de sistemas certificados pode ser vista clicando aqui!

15. Considerações Finais

Por mais abertos que os sistemas UNIX possam ser, a maioria dos bons sistemas de alto nível são licenciados e/ou pagos; Alguns sistemas até são “gratuitos” mas exigem que você adquira um hardware especifico para tal, como é o caso do HP-UX, o UNIX da Hewlett Packard, ou mesmo o AIX, da IBM.
Temos casos como o macOS, certificado UNIX porém parcialmente aberto, com diversos trechos do código fonte fechados. Diante de tantas restrições de licenças, a criação do BSD e do Linux se fizeram necessárias para a disseminação deste que é um dos melhores sistemas operacionais já desenvolvidos.

Infelizmente, a ganância das diversas empresas de informática em dominar o mercado com um excelente sistema servidor e doméstico, acabou por destruí-las, dando margem para a ascensão do Windows nesse meio.

#UrbanCompassPony

Fontes históricas:
Minix rodando em CPU Intel
Sobre o UNIX: Livro “Descobrindo o Linux” 3ª Edição
Historia do Linux: Wiki
Sobre o BSD, Solaris e AIX: Wikipedia – UNIXSySV, BSD
Sobre o macOS: Vilson Heuer, programador, pela sua intimidade com o código fonte da Apple
Controvérsia quanto á nomenclatura GNU/Linux: Wiki-Controversy

Publicação Original da Página UNIX Universe no Facebook, de 12 de Agosto de 2017.
Adaptada e melhorada para o site LINUX Universe. Postagem original:
https://www.facebook.com/LINUXUniverse/posts/1440305052713103/

2 comentários em “UNIX – A Origem dos Sistemas”

Deixe um comentário