9P
9P (ou o Plan 9 Filesystem Protocol ou Styx), é a um protocolo de rede desenvolvido para o sistema operacional distribuído Plan 9 from Bell Labs como meio de conectar os componentes do sistema Plan 9. Arquivos são os objetos chaves no Plan 9. Eles representam janelas, conexões de rede, processos, e quase tudo mais disponível no sistema operacional.
O 9P encoraja provisionamento e também servindo arquivos sintéticos (ex: /proc para representar processos), diferente do NFS.
O 9P foi revisto para a 4ª edição do Plan 9 sob o nome de 9P2000 que contem várias melhorias fundamentais. A ultima versão do sistema operacional Inferno também usa 9P2000. O protocolo de arquivos do Inferno era originalmente chamado Styx, mas tecnicamente ele sempre será uma variante do 9P.
Existe uma implementação de um servidor 9P para Unix chamada u9fs incluída na distribuição do Plan 9, e um drive de núcleo cliente para o Linux como parte do projeto v9fs. 9P (e derivados) são também encontrados em aplicações para ambiente embarcado, como no Styx on a Brick.
9P aplicações servidores [editar]
Muitas aplicações do Plan 9 tomam a forma de servidores 9P; algumas em particular são exemplos notórios:
- acme: uma interface para ususário, para programadores
- rio: o gerenciador de janelas do Plan 9.
- plumber: comunicador interprocessos
- wikifs: uma wiki
Ver também [editar]
- v9fs - u9fs: implementação do 9P para sistemas operacionais Unix-like.
- IL Protocol - Protocolo de transporte que foi projetado para o 9P em redes da área local.
- Sistema de Arquivos Distribuído
Ligações externas [editar]
- (em inglês)9P Resources página na cat-v.org
Documentação
- (em inglês)Manual do 9P
- (em inglês)The Styx Architecture for Distributed Systems por Rob Pike e Dennis Ritchie
- (em inglês)The Organization of Networks in Plan 9 por Dave Presotto e Phil Winterbottom
Implementações
- (em inglês)implementações de servidores e clientes 9P em Python
- (em inglês)implementações de servidores e clientes 9P em Java
- (em inglês)cliente Ruby-IXP 9P implementado em Ruby para o wmii
- (em inglês)implementações do cliente 9P em Tcl
- (em inglês)implementação do servidor e cliente 9P em C sobre a BSD license (parte do projeto wmii)
- (em inglês)implementação do cliente 9P em Common Lisp
- (em inglês)biblioteca 9pclient - Uma biblioteca 9P em C (parte do projeto Plan 9 from User Space)
- (em inglês)implementação do cliente e servidor Styx em Limbo (parte do sistema operacional Inferno)