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 última 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 Muitas aplicações do Plan 9 tomam a forma de servidores 9P; algumas em particular são exemplos notórios: acme: uma interface para usuário, para programadores rio: o gerenciador de janelas do Plan 9. plumber: comunicador interprocessos ftpfs: an FTP client that presents the files and directories on a remote FTP server in the local namespace wikifs: uma ferramenta de edição wiki que apresenta uma wiki remota como arquivos no namespace local webfs: um servidor de arquivos que obtém dados de uma URL e apresenta o conteúdo e detalhes da resposta como arquivos no namespace local

Fora do Plan 9 o protocolo 9P ainda é usado quando sistemas de arquivos remotos leves são necessários: NixOS: uma distribuição Linux puramente funcional que pode se reconstruir dentro de uma máquina virtual, quando o cliente usa 9P para montar o diretório de armazenamento de pacotes do hóspede. Subsistema Windows para Linux: a partir da versão 1903 do Windows 10 o subsistema implementa 9P como um servidor e o sistema operacional Windows hóspede age como cliente. Crostini: um servidor 9P customizado é usado para prover acesso a arquivos fora de uma VM Linux. QEMU: o dispositivo VirtFS permite o compartilhamento de sistemas de arquivos sobre 9P, que é acellerado com o drivers do kernel e memória compartilhada DIOD: Um Daemon de I/O distribuido - um servidor de arquivos 9P

Ver também Sistema de arquivos distribuídos

Ligações externas 9P Resources página na cat-v.org

Documentação Manual do 9P The Styx Architecture for Distributed Systems por Rob Pike e Dennis Ritchie The Organization of Networks in Plan 9 por Dave Presotto e Phil Winterbottom

Implementações implementações de servidores e clientes 9P em Python implementações de servidores e clientes 9P em Java cliente Ruby-IXP 9P implementado em Ruby para o wmii implementações do cliente 9P em Tcl implementação do servidor e cliente 9P em C sobre a licença BSD (parte do projeto wmii) implementação do cliente 9P em Common Lisp biblioteca 9pclient - Uma biblioteca 9P em C (parte do projeto Plan 9 from User Space) implementação do cliente e servidor Styx em Limbo (parte do sistema operacional Inferno)

Categoria:Protocolos da Internet Categoria:Protocolos de camada de aplicação Categoria:Softwares baseados em rede Categoria:Plan 9 from Bell Labs Categoria:Comunicação entre processos Categoria:!Artigos com ligações precisando de desambiguação