Conheça o projeto Plan 9, da Bell Labs, que prometia ser o sistema que substituiria o UNIX tal qual o conhecemos!
| 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.
Introdução
Todo mundo aqui já conhece o UNIX® e sua história. – Não? Então conheça sua história clicando aqui!
Além disso, poderá conhecer o sistema UNIX® System V clicando aqui!
Agora sim: Todo mundo aqui já conhece o UNIX® e o quanto ele era incrível, formidável, do qual surgiram sistemas inspirados como BSD, MINIX, Linux e macOS. Mas sabiam que a Bell Labs tentou lançar um sucessor para o UNIX?
E foi um desafio e tanto, afinal, como superar o “insuperável” UNIX?
1. Senta que lá vem história!
O Plan 9 da Bell Labs foi desenvolvido originalmente a partir de meados da década de 1980, por membros do Centro de Pesquisas em Ciência da Computação da Bell Labs, exatamente o mesmo grupo que originalmente desenvolveu o UNIX® e a linguagem de programação C.
A equipe do Plan 9 foi liderada por Rob Pike, Ken Thompson – um dos pais do UNIX -, Dave Presotto e Phil Winterbottom, com o apoio de Dennis Ritchie – segundo pai do UNIX e criador da linguagem C – como chefe do departamento de pesquisa de técnicas de computação. Ao longo dos anos, muitos desenvolvedores notáveis têm contribuído para o projeto, incluindo Brian Kernighan, Tom Duff, Douglas McIlroy, Bjarne Stroustrup e Bruce Ellis.
O Plan 9 substituiu o UNIX® como plataforma principal dos laboratórios da Bell para pesquisa de sistemas operacionais. A equipe do laboratório explorou várias alterações ao modelo original UNIX, alterações estas que facilitariam o uso e a programação do sistema, principalmente em ambientes multiusuários distribuídos.
Basicamente o plano do Plan 9 era ser o sistema sucessor do UNIX®, mais otimizado do que o UNIX® já o era.
Depois de vários anos de desenvolvimento e uso interno, a Bell Labs enviou o sistema operacional para as universidades em 1992. Três anos mais tarde, em 1995, o Plan 9 foi disponibilizado em partes comerciais pela AT&T através da editora Harcourt Brace. Com licenças de origem que custavam US$ 350, a AT&T segmentou o mercado de sistemas embarcados em vez do mercado de computadores em geral; Ritchie comentou que os desenvolvedores não esperavam fazer “muito deslocamento” dada a forma como outros sistemas operacionais estabelecidos tinham se tornado.
Glenda, o coelho símbolo do Plan 9, desenhado por Renée French
2. Origem do Nome
O nome é uma referência ao filme cult de ficção científica chamado “Plan 9 from Outer Space” de Ed Wood, lançado em 1959. Além disso, Glenda, o simpático coelho da imagem deste post e que é a logo do sistema – cá entre nós parece alguma coisa saída de Donnie Darko – é presumivelmente uma referência ao filme “Glen or Glenda”.
Cartaz do filme Plan 9 from Outer Space
3. Programas Padrão
A seguir alguns programas padrão utilizados no Plan 9:
- rc – shell padrão
- sam – editor de textos
- acme – interface de usuário para programadores
- plumber – processador de mensagens
- Mk – uma ferramenta para construir software, análoga ao tradicional UNIX Make Namespace
- rio – o novo sistema de janelas do Plan 9
- 8½ – o velho sistema de janelas do Plan 9
- Fossil e Venti – Sistema de Arquivos
4. Lançamentos
A primeira edição tinha a maioria das partes identificáveis do Plan 9, incluindo o kernel, sam, upas, alef e o suporte completo á codificação UTF-8. O acme foi apresentado numa versão mais antiga. Os servidores de CPU eram estações SPARC da Sun, SGI Power e SGI Magnum, com estações NEXT e PCs como terminais. As estações Gnot e Hobbit, construídas localmente, eram também utilizadas como terminais.
4.1 Brazil
A segunda edição, lançada em 1995 na forma de livro e CD, adicionava o acme e uns poucos outros utilitários. Na época do lançamento da segunda edição, a equipe do Plan 9 trabalhava numa reimplementação do sistema e o nome mudaria para Brazil. Em 1999, na preparação para o lançamento da terceira edição, o nome Brazil foi abandonado e o sistema voltou a se chamar Plan 9. – Imagina o nível de zoeira se o sistema tivesse o nome do nosso país?
No início de 1996, o projeto Plan 9 tinha sido “posto em segundo plano” pela AT&T em favor do projeto Inferno, destinado a ser um rival à plataforma Java da Sun Microsystems. No final dos anos 90, o novo proprietário da Bell Labs, Lucent Technologies, abandonou o suporte comercial para o projeto Plan 9. Acredita-se que, muito em parte, pela popularidade do UNIX® até aquela data.
A terceira edição antecipada foi lançada em junho de 2000 e disponibilizada livremente na Internet. Introduzia um novo operador gráfico de cores chamado draw e um novo mecanismo de comunicação entre processos chamado plumbing. A distribuição introduzia também um simplório gerenciador de atualizações chamado wrap para instalar atualizações de sistema empacotadas, tal qual vemos hoje com o .deb e .rpm em sistemas Linux.
O lançamento da quarta edição, em 2002, introduzia o 9P2000 juntamente com o agente de segurança associado factotum e o repositório de chaves secstore. Introduzia também o servidor de armazenamento em blocos venti. O servidor de arquivos baseado no venti, o fossil, veio a ser lançado no início de 2003.
Adicionalmente a esses programas, a quarta edição introduzia um novo mecanismo para distribuir as atualizações do sistema. O servidor de arquivos Fossil tinha um repositorio público em sources.cs.bell-labs.com, contendo uma árvore de arquivos atuais que são servidos para qualquer sistema Plan 9 conectado a Internet.
Alterações na árvore dessa quarta edição são feitas com frequência, geralmente todos os dias. Os clientes rodam ferramentas para manter os seus sistemas sincronizados com os sources (fontes). Snapshots dos sources, acessados por meio do sistema de arquivos dump, forneciam um histórico dos lançamentos.
5. Comunidade
Uma comunidade de usuários e desenvolvedores, incluindo funcionários atuais e antigos da Bell Labs, produziu lançamentos em forma de imagens ISO. Além dos componentes oficiais do SO incluído nas ISOs, a Bell Labs também hospeda um repositório de aplicações e ferramentas desenvolvidas externamente – repositório esse que permite inclusive atualizar o sistema, tal qual ocorre nos sistemas UNIX® e UNIX-like atuais.
6. Inovações do Sistema Operacional
Muito bem, vocês leram a história (ou não) e estão pensando:
– Em quê o Plan 9 é superior ao UNIX®?
Ah, muita coisa!
Segue uma listinha das novidades:
- O Plan 9 estende o sistema mediante arquivos por “nomes”, isto é, um único caminho para qualquer objeto, não importando se ele é um arquivo, uma tela, usuários, ou computadores. Tudo é feito usando os padrões UNIX existentes, mas adicionando o fato que todo objeto pode ser nomeado e endereçado, um conceito similar ao amplamente conhecido sistema URI da internet.
A concepção de “tudo é arquivo” é levada a um nível superior!
Já abordamos sobre isso aqui e nesta outra publicação aqui do site.
Por exemplo, em versões anteriores do UNIX, dispositivos como impressoras eram representadas por nomes através do uso de programas conversores agindo dentro de /dev, mas estes endereçam apenas dispositivos conectados diretamente por hardware, e não mapeia dispositivos em rede. No Plan 9 as impressoras são virtualizadas e tratadas como arquivos e ambos podem ser acessados através da rede por qualquer estação de trabalho.
- Outra inovação no Plan 9 é a capacidade para os usuários de terem diferentes nomes para os mesmos objetos do “mundo real”. De fato qualquer usuário pode criar um ambiente personalizado colecionando vários objetos em seu “namespace”. O UNIX tem um conceito similar em que o usuário ganha privilégios ao ser copiado de outro usuário; mas no Plan 9 isto é estendido para qualquer objeto. Os usuários podem facilmente criar “clones” de si mesmos, modificar esta cópia, e depois apagá-la sem afetar nada dos recursos originais.
- O sistema também introduziu a ideia de união de diretórios. São diretórios que combinam recursos entre mídias diferentes ou através de uma rede juntando-se a outros diretórios de maneira transparente. Por exemplo, o diretório /bin de outro computador pode ser ligado com o seu /bin, e então este diretório irá compartilhar ambos os binários locais e os binários remotos, e podem ser usados por ambos. No UNIX, mapear diretórios desta forma faz o original ficar oculto enquanto existir o mapeamento. Usando o mesmo método, no Plan 9, fontes e dispositivos externos podem ser ligados ao /dev, fazendo ligação com todos os dispositivos locais e dispositivos de rede, sem adicionar novos códigos.
- O Plan 9 não tem chamadas de sistema especializadas ou ioctls para acessar a pilha de rede ou hardware de rede. Em vez disso, temos um diretório novo chamado /net que é utilizado para esse fim. As conexões de rede são controladas pela leitura e gravação de mensagens de controle nesse diretório para controlar arquivos. Sub-diretórios como /net/tcp e /net/udp são usados como uma interface para seus respectivos protocolos
- Todo o sistema possui seus caracteres codificados para o padrão Unicode, diminuindo a complexidade do gerenciamento de codificações de caracteres. O UTF-8 preserva a compatibilidade com as cadeias terminadas nulas tradicionais, permitindo um processamento de informações mais confiável e o encadeamento string de dados multilíngue com Unix pipes entre vários processos. Usando uma única codificação UTF-8 com caracteres para todas as culturas e regiões elimina a necessidade de alternar entre conjuntos de códigos.
6.1 Testes
Ao iniciar o Plan 9 via VirtualBox, você pode instalá-lo ou executar o LiveUSB, bastando definir sistema operacional como Other e na subcategoria em “Other/Unkown (x64)”.
A interface rudimentar promove novos conceitos de desktop e usabilidade, que podem causar estranheza para a maioria das pessoas acostumadas com sistemas Linux, macOS ou mesmo Windows.
7. Download
Caso queira testar o Plan 9 OS, o download pode ser feito clicando aqui!
Ele possui versões LiveUSB e também disponível para CD.
Observação:
Antes de brincar com ele, recomendo que dê uma olhada nos seguintes links:
8. Glendix: O Plan 9/Linux
Você deve estar pensando… Existe um GNU/Linux, se esse Plan 9 é tão bom, existe algo mais “familiar” com ele?
Sim, o Plan 9 + Linux, cujo objetivo é substituir toda a biblioteca GNU pelos softwares do Plan 9 porém mantendo o kernel Linux. Isso aumenta a compatibilidade de hardware uma vez que o kernel do Plan 9 não é tão completo quanto o Linux.
Caso tenha interessado no projeto, o download pode ser feito aqui!
Ele deve ser compilado sobre uma instalação básica do sistema Linux, recomendo por exemplo o Gentoo para isso.
#UrbanCompassPony
Adaptado de:
Glendix
BellLabs: Plan9
SlideShare: Plan9Brasil
UNICAMP
Autodidata, me aprofundei em sistemas operacionais baseados em UNIX®, principalmente Linux. Também procuro trazer assuntos correlacionados direta ou indiretamente, como automação, robótica e embarcados.