9P

From Wikipedia, the free encyclopedia

Internet protocol suite
5. Application layer

DHCPDNSFTPHTTPIMAP4IRCMIMEPOP3SIPSMTPSNMPSSHTELNETTLS/SSLRPCRTPSDPSOAP

4. Transport layer

TCPUDPRSVPDCCPSCTP

3. Network layer

IP (IPv4IPv6) • ARPBGPICMPIGMPIGPRARP

2. Data link layer

ATMBluetooth (PAN-Profile)EthernetFDDIFrame RelayGPRSModemsPPPWi-Fi

1. Physical layer

Bluetooth RFEthernet physical layerISDNModemsRS232SONET/SDHUSBWi-Fi

This box: view  talk  edit

9P (or the Plan 9 Filesystem Protocol or Styx), is a network protocol developed for the Plan 9 from Bell Labs distributed operating system as the means of connecting the components of a Plan 9 system. The file is a central metaphor of Plan 9, and many things are represented as files, including windows, network connections, processes, and almost anything else available in the operating system.

9P encourages caching and also serving of synthetic files (e.g. /proc to represent processes), unlike NFS.

9P was revised for the 4th edition of Plan 9 under the name 9P2000 that contained various fundamental improvements. The latest version of Inferno also uses 9P2000. The Inferno file protocol was originally called Styx, but technically it has always been a variant of 9P.

There is a server implementation of 9P for Unix called u9fs included in the Plan 9 distribution, and a kernel client driver for Linux as part of the v9fs project. 9P (and derivatives) have also found application in embedded environments, such as the Styx on a Brick project.

[edit] 9P server applications

Many of Plan 9's applications take the form of 9P servers; some particularly noteworthy examples:

  • acme: a user interface for programmers
  • rio: the Plan 9 window manager.
  • plumber: interprocess communication
  • wikifs: a wiki

[edit] See also

[edit] External links

Documentation

Implementations