A história do UNIX como um sistema comercial

Lembrando:

  • Multics: o primeiro sistema operacional de fato de tempo compartilhado, desenvolvido por 3 instituições e 3 nomes importantes envolvidos, que, por terem interesses distintos, não foi para frente. Criado com um proposito de ser um sistema para uma central computacional para ser usado remotamente por terminais burros, assim como telefone e TV a cabo, poderoso o suficiente para receber milhares de requisições. Em outras palavras, um servidor.

Algo que evitei explicar (termos técnicos) é o que significa Time-Sharing System: conhecemos hoje como multitarefa.

  • Unix: criado por 1 das instituições responsáveis pelo Multics, o Bell Labs da AT&T; e 2 dos desenvolvedores do Multics, Ken Thompson e Dennis Ritchie. Sistema responsável pela criação da linguagem B (Thompson) e C (Ritchie). Não só era um sistema para servidores mas também oferecia ferramentas para desenvolvedores e para escritório. Ou seja, era também um sistema Workstation.

Continuando…

O que é Unix? Pode se referir a diversas coisas:

  1. Um sistema operacional antigo criado em 1969.
  2. Uma família de sistemas operacionais derivados desse (forks).
  3. Uma marca comercial para sistemas operacionais, que no caso é chamada de UNIX.
  4. Uma filosofia de desenvolvimento de software que presa simplicidade que hoje conhecemos como KISS (Keep It Simple, Stupid!).

Hoje vou falar do item 2 e 3, a história do Unix lançado pela AT&T comercialmente.

Unix System III foi o primeiro Unix comercial derivado do Unix V7, que já estava totalmente escrito em C.  Um pouco estranho a versão dele começar em 3 ao invés de 1, né? Isso era porque dentro do Bell Labs existiam outros Unix (como se fossem distros) focadas para uma especialidade. Por exemplo, o PWB/Unix tinha como objetivo fornecer programas úteis para desenvolvimento (como o utilitário make) e que se fundiu de volta ao Unix no lançamento do V7, o CB Unix 3.0. Este era focado em banco de dados e o Unix/32V, com porte do V7 para DEC VAX, e que, não a toa, o System III foi também lançado para essa plataforma.

Código do System III pode ser encontrado aqui: http://minnie.tuhs.org/cgi-bin/utree.pl?file=SysIII

O System III, que além de possuir recursos do V7 como o compilador C, o make e o Bourne shell (que substituiu o Thompson shell como shell padrão no V7), possuía também novos recursos com intenção de trazer exclusividade comercial.

Vale ressaltar que todo fork comercial do Unix era fechado. Com intuitos comerciais, a AT&T decidiu tirar toda a transparência que o Unix original tinha e presava. Por exemplo, se você digitasse “man algumcomando” no V7, no fim do manual ia ter a sessão BUGS citando quais o programa tinha. Isso foi retirado dos Unixes comerciais.

Também ressalto que o AT&T Unix  era licenciável assim como o do Bell Labs, porém custava mais caro e apenas empresas podiam pagar e criar seu próprio Unix. Esse foi o caso de uma empresa que lançou o tal Microsoft Xenix. O Xenix começou como um derivado do V7, depois se tornou um System III e por fim um System V. Foi também um dos melhores Unix e um dos mais famosos.

O sucessor do System III foi o System V, que talvez tenha sido o maior tiro no pé da AT&T. O System V foi responsável pela guerra entre Unixes pois várias empresas adquiriam a licença e lançavam sua própria versão do System V para seus hardwares, sendo assim incompatíveis com o original. Isso dificultava para as empresas desenvolvedoras de software criarem softwares para Unix, pois chegavam a centenas de versões e não eram compatíveis entre si.

Dessa forma, a AT&T teve que lançar releases do System V que fossem cada vez mais compatíveis com o os outros como o Xenix e o SunOS, inclusive com o próprio BSD.

Com isso, um grupo de empresas que possuíam algum Unix decidiram criar uma organização que especificasse o que é um sistema UNIX. Foi aí que o termo “UNIX” se tornou uma marca comercial. Se a sua empresa possui um sistema do tipo Unix, ou seja, apesar de não ter alguma descendência com o Unix original mas possuir as caracteristicas que a Single Unix Specification (SUS) define, e, além disso, sua empresa tiver $$$ pra pagar o rótulo de Unix no seu sistema, então ele é UNIX. Esse é o caso do Inspur K-UX e do IBM z/OS que não são Unix, mas são UNIX. O IBM z/OS é derivado e considerado sucessor do OS/390 (que era um sistema operacional MVS, não um Unix), entretanto a IBM acabou incluindo a compatibilidade com a SUS nesse sistema e por este motivo ele é um sistema com certificação UNIX.

O Mac OS X é outro exemplo curioso, ele é um BSD, mais especificamente um FreeBSD. Porém o Mac OS tem certificação UNIX e o FreeBSD não tem certificação por não ter $$$ para isso. Ou seja, UNIX é um rótulo que qualquer sistema operacional pode receber, não uma definição do que é um sistema Unix (que se encaixaria nos itens 1 e 2 já citados acima).

Hoje os únicos Unixes da família System V são o IBM AIX, Oracle Solaris, HP-UX e UnixWare (que seria o próprio).

Perdendo o poder de seu Unix, a AT&T fez uma joint venture com a Novell para o lançamento do que viria ser o System V Release 4.2, nome este definido pela Novell de UnixWare.

Já a Microsoft vendeu o Xenix (motivos que todo mundo já conhece) para a Santa Cruz Operation que relançou o sistema como SCO UNIX e depois renomeado para OpenServer.

Como ironia do destino a SCO comprou o UnixWare da Novell sendo a partir de então detentora de 2 UNIXes: OpenServer e UnixWare.

Continuando esse compra-compra, a SCO foi comprada pela Xinuos que é atual detentora dos 2 UNIXes e o novo OpenServer…..cenas para um próximo capítulo.

Texto: Bruno Maximo

Revisão: Marcelo Miky

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s