9P
# 9P

9P (Plan9 Filesystem Protocol) è un protocollo di rete sviluppato per il sistema operativo Plan 9 di Bell Labs per connettere i diversi componenti del sistema stesso. Esso incoraggia il caching delle informazioni e supporta la creazione di files fittizi (come ad esempio quelli che si trovano nella directory /proc, che rappresentano i processi), al contrario di NFS.

9P venne rivisitato e migliorato nella quarta versione di Plan9 sotto il nome di 9P2000, e lo stesso Inferno ne implementa una variante, nota come Styx. Molte altre diverse implementazioni ne esistono, per Unix, Linux, o più generalmente in forma di applicazione interpretata multipiattaforma in Python, Ruby o altri.

Nella filosofia di Plan9 il file rappresenta una metafora fondamentale, ed attraverso esso sono astratti i concetti di finestra grafica, connessione di rete, processo, e pressoché tutto quello che è coinvolto in un sistema operativo. Pertanto, attraverso il filesystem 9P è possibile scambiare ogni tipo di informazione, e molti dei programmi inclusi nel sistema originario si presentano in forma di server 9P, tra cui:

* rio: window manager
* plumber: meccanismo di comunicazione tra processi (IPC)
* acme: interfaccia grafica modulare dedicata allo sviluppo software
