O Plano 9 do espaço sideral - Zumbis, Alienigenas e o melhor sistema jamais usado!
Se eu te falar que surgiu, em meados de 1980, o maior e mais revolucionário sistema operacional que ninguém usou? Essa é a historia do Plan 9 from Bell labs....
O projeto Plan 9 foi uma continuação da linha de sistemas operacionais UNIX, que também foi desenvolvida nos Laboratórios Bell Labs. O objetivo era criar um sistema operacional distribuído e altamente integrado que superasse algumas limitações encontradas nos sistemas operacionais UNIX tradicionais.
O nome "Plan 9" foi escolhido como uma referência ao filme "Plan 9 from Outer Space", conhecido por ser um dos piores filmes de ficção científica já feitos, embora a ideia tenha sido boa... A escolha desse nome foi uma espécie de brincadeira dos desenvolvedores para destacar que o Plan 9 era um projeto ambicioso e ousado, mas também reconhecendo que poderia haver falhas e dificuldades ao longo do caminho.
Os principais motivadores por trás do desenvolvimento do Plan 9 foram a necessidade de lidar com redes de computadores cada vez mais complexas e a busca por um modelo mais uniforme de computação distribuída. Os pesquisadores queriam criar um sistema operacional que tratasse todos os recursos, locais e remotos, como arquivos e fornecesse uma interface coesa para acessá-los.
Embora o Plan 9 tenha sido lançado como um sistema operacional completo, ele não alcançou ampla adoção comercial (infelizmente). No entanto, ele teve um impacto significativo no desenvolvimento de outras tecnologias. Muitas ideias e conceitos do Plan 9 foram adotados em outros sistemas operacionais e projetos relacionados.
O Maravilhoso Sistema de Arquivos
O sistema de arquivos do Plan 9 segue um modelo de sistema de arquivos hierárquico, semelhante ao modelo utilizado em sistemas UNIX. No entanto, o Plan 9 adota uma abordagem diferente em relação ao acesso a recursos distribuídos. Em vez de tratar recursos remotos como dispositivos separados, o Plan 9 os integra diretamente na árvore de diretórios, permitindo que o acesso a recursos locais e remotos seja feito de maneira transparente.
No Plan 9, todos os recursos, sejam eles arquivos locais, dispositivos ou recursos remotos, são representados como arquivos e podem ser acessados por meio de uma interface uniforme. O sistema de arquivos é montado em um único ponto de entrada chamado "namespace", onde todas as entidades são acessíveis. Isso significa que dispositivos, diretórios e recursos remotos são todos acessíveis usando a mesma sintaxe de caminho.
Além disso, o Plan 9 adota uma abordagem de comunicação entre processos baseada em leitura e escrita de arquivos. Isso significa que a comunicação entre processos é feita por meio de arquivos especiais chamados "named pipes", onde um processo pode escrever dados em um arquivo e outro processo pode lê-los.
It's a live!
Embora o Plan 9 não tenha conseguido um bom desenvolvimento comercial, suas inovações conquistaram um publico que mantem o sistema ainda vivo, através de projetos open source:
-
9front: O 9front é um projeto de código aberto que visa continuar o desenvolvimento do Plan 9, introduzindo novos recursos, correções de bugs e aprimoramentos. Ele se concentra em manter a compatibilidade com versões anteriores do Plan 9 e também adiciona recursos extras, como drivers de dispositivo aprimorados e novas ferramentas.
-
Harvey: O projeto Harvey é uma tentativa de modernizar e redesenhar o Plan 9 para torná-lo mais adequado para sistemas atuais. Ele reescreveu partes do sistema operacional usando a linguagem de programação Go e introduziu uma nova arquitetura de kernel para melhorar o desempenho e a escalabilidade. O objetivo do Harvey é trazer o Plan 9 para um público mais amplo e torná-lo relevante para sistemas modernos.
-
9legacy: O projeto 9legacy é um esforço para manter o Plan 9 mais antigo em desenvolvimento e garantir sua continuidade. Ele se concentra em corrigir bugs, melhorar a estabilidade e fornecer suporte para hardware mais recente. O 9legacy visa preservar o Plan 9 em sua forma original e manter sua integridade como um sistema operacional único.
Ainda seguindo os passos e o legado do Plan9, surgiu o Inferno, um sistema operacional distribuído que pode rodar tanto como sistema hospedeiro em outros sistemas, como também sob hardware. Inferno foi um projeto muito bem executado, mas que herdou a maldição do Plan9 e não decolou, mas trouxe muitas inovações também.
No sistema Inferno foi construído a maquina virtual 'Dis' que rodava a linguagem Limbo, que posteriormente foi colocada num compilador pelo Google, e sim, estou falando da linguagem Golang(GO)!
Fiz esse post porque gosto muito do Plan9(tanto o filme quanto o sistema) e gostaria que mais pessoas conhecessem esse projeto. Num próximo post vou tentar explorar e expor o sistema Inferno, e falar um pouco do incrível protocolo 9P(Styx, no Inferno), té a próxima!