title: 9P
text: # 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
  