
O que é o Plan 9 ?
É um sistema operacional desenvolvido pela Bell Labs desenvolvido a partir do final dos anos 80, seus autores e designers originais foram Dave Presotto, Ken Thompson, Rob Pike, Phill Winterbottom, com a sequência do desenvolvimento vários outros se juntaram ao projeto ao longo dos anos 90 até o presente. O sistema operacional é baseado em Unix, porém nele cada processo possui seu próprio espaço de nome mutável, isso significa que, um processo pode: adicionar, remover e reorganizar seu próprio espaço de nome sem afetar os espaços de processos não relacionados. O Plan9 é um kernel do sistema operacional, mas também é uma coleção de software (operações), a maior parte do software é nova, escrita para o plan9, ou seja, poucas coisas foram importadas do Unix ou de outros sistemas operacionais. Dentre esses programas estão as janelas do sistema, compiladores, servidor de arquivos e os serviços de rede.
Lançamentos
Sua primeira edição foi lançada em 1992, disponibilizada apenas para universidade. A segunda edição foi lançada em 1995, na época a equipe do Plan9 estava trabalhando na implementação de um sistema chamado Brasil, em 1999 um ano antes da estreia da terceira edição o nome Brasil foi alterado para “Plano 9”. A terceira edição foi lançada nos anos 2000 e distribuída gratuitamente pela internet. E por fim sua quarta edição foi lançada em 2002, com essa edição também foi introduzido um novo mecanismo de atualização para o sistema.
Status atual do sistema
O Plan9 continua a mudar diariamente, e essas mudanças são distribuídas através do site "9p.io", apesar das mudanças foi optado por manter seu visual fiel à sua versão original. Ele também é utilizado por outros sistemas operacionais como ideia base, por ter sido o primeiro a dar suporte completo à codificação do conjunto de caracteres Unicode UTF-08. Como exemplo o protocolo de arquivo simples 9P foi implementado nas versões atuais do Linux. Muitas empresas obtiveram sucesso na venda de produtos baseados no Plan9, dentre estas a mais notável é a "Vita Nuova", criadora do sistema operacional Inferno, um derivado do Plan9 voltado para dispositivos embarcados.
Como funciona o gerenciamento de memória do Plan 9 ?
Antes de discutir sobre as chamadas de sistema como newseg, segbrk, segattach, segdeattach, segfree e segflush, vamos entender como funciona o gerenciamento de memória em si do Plan9. O Plan9 utiliza memória virtual paginada, onde o kernel usa a paginação em um esquema de dois leveis, onde cada processo tem seu próprio espaço virtual separado em duas regiões, uma para o próprio kernel e outra para o usuário. A parte destinada ao usuário é situada de 0gb a 2gb, já a parte do kernel é situada entre 2gb a 4gb.
Figura 1: Exemplo de página visível ao usuário.
Agora vamos ver o que fazem as chamadas de sistemas básicas no gerenciamento de memória:
newseg() - cria um novo segmento de um tipo informado, base e tamanho, o procedimento é abortado caso o tamanho exceda o tamanho máximo permitido para um segmento de memória.
segbrk() - redimensiona um segmento, apenas segmentos compartilhados, BSS (better save space) e shared data podem ser redimensionados, segue a premissa de que o local menos usado do segmento de memória é utilizado para fazer o redimensionamento de dado bloco.
segattach() - cria um novo segmento e adiciona o mesmo ao processo que chamou o procedimento, o retorno é a parte mais baixa do endereço, ou seja, o endereço do início desse novo segmento criado.
segdeattach() - é a função oposta do segattach(), faz a remoção de um segmento adicionado a um processo pai.
segfree() - libera uma parte do segmento alocado.
segflush() - invalida qualquer cache de instrução e escreve novamente qualquer cache de data associada as páginas contidas no segmento, por subsequência todas as novas páginas serão também atualizadas quando forem referenciadas.
Vale lembrar que existem várias outras chamadas de sistema para fazer o gerenciamento de memória, acima foram citadas as mais básicas e primordiais se assim podemos dizer.
Caso queira baixar o código fonte do Plan9 clique neste link.
Caso queira baixar a distribuição do Plan9 para instalar clique neste link.
Caso queira acessar o REA sobre Gerenciamento de Processos do Plan9 clique neste link.
Entre em contato comigo
Caso fique alguma dúvida ou dica sobre este REA, envie-me um e-mail.
Clique no ícone de e-mail posicionado na parte inferior a direita da página para ser redirecionado para o envio do e-mail.