9P
9p (o el Plan 9 Filesystem Protocol o Styx) es un protocolo de red desarrollado por el sistema operativo distribuido Plan 9 from Bell Labs como el medio para conectar los componentes de un sistema Plan 9. Los archivos son objetos clave en Plan 9: representan ventanas, conexiones de red, procesos y casi absolutamente cualquier cosa disponible en el sistema operativo. 9P promueve el caching y también servidores de archivos sintéticos, como /proc para representar procesos.
9P fue revisado para la 4ª edición de Plan 9 bajo el nombre 9P2000 que contiene varias mejoras fundamentales. La última versión de Inferno también usa 9P2000. El protocolo de archivos de Inferno se llamaba originalmente Styx, pero técnicamente siempre ha sido una variedad de 9P.
Hay una implementación del servidor de 9P para UNIX llamada u9fs que se incluye en la distribución de Plan 9. También hay un módulo cliente para el kernel de Linux como parte del proyecto v9fs. 9P y sus derivados también han encontrado un nicho en los sistemas empotrados, como el protecto Styx on a Brick.
Aplicaciones del servidor 9P
Muchas de las aplicaciones de Plan 9 toman la forma de servidores 9P, algunas particularmente destacables:
- acme: Una interfaz de usuario para programadores.
- rio: El administrador de ventanas de Plan 9.
- plumber: Comunicación entre procesos.
- wikifs: Un wiki
Véase también
- v9fs - u9fs: Implementación de 9P para sistemas operativos Unix-like.
- Protocolo IL - Protocolo de transporte que fue diseñado para redes locales de Plan 9.
- Sistema de archivo distribuido
Enlaces externos
- 9P Resources page at cat-v.org
Documentación
- Manual 9P
- The Styx Architecture for Distributed Systems por Rob Pike y Dennis Ritchie
- The Organization of Networks in Plan 9 por Dave Presotto y Phil Winterbottom
Implementaciones
- Cliente y servidor de 9P Implementación en Python
- Cliente y servidor 9P Implementación en Java
- Ruby-IXP 9P client implemented in Ruby for wmii
- Cliente 9P Implementación enTcl
- Cliente y servidor 9P Implementación en C bajo la Licencia BSD (Parte del proyecto wmii)
- Cliente 9P Implementación en Common Lisp
- Librería 9pclient - Una librería 9P en C (parte del proyecto Plan 9 from User Space)
- Cliente y servidor Styx implementación en Limbo (Parte del sistema operativo Inferno)