Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

9P (protocol)

From Wikipedia, the free encyclopedia
Network protocol for the Plan 9 distributed operating system
This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages)
This articlemay be too technical for most readers to understand. Pleasehelp improve it tomake it understandable to non-experts, without removing the technical details.(February 2017) (Learn how and when to remove this message)
icon
This articlerelies excessively onreferences toprimary sources. Please improve this article by addingsecondary or tertiary sources.
Find sources: "9P" protocol – news ·newspapers ·books ·scholar ·JSTOR
(August 2015) (Learn how and when to remove this message)
(Learn how and when to remove this message)
9P
Communication protocol
PurposeConnecting components
Developer(s)Bell Labs
Introduction1992; 34 years ago (1992)
Influenced9P2000
Internet protocol suite
Application layer
Transport layer
Internet layer
Link layer

9P (or thePlan 9 Filesystem Protocol orStyx) is anetwork protocol developed for thePlan 9 from Bell Labsdistributed operating system as the means of connecting the components of a Plan 9 system. Files are key objects in Plan 9. They representwindows,network connections,processes, and almost anything else available in the operating system.

9P was revised for the 4th edition of Plan 9 under the name9P2000, containing various improvements. Some of the improvements made are the removal of certain filename restrictions, the addition of a 'last modifier' metadata field for directories, and authentication files.[1] The latest version of theInferno operating system also uses 9P2000. The Inferno file protocol was originally called Styx, but technically it has always been a variant of 9P.

A server implementation of 9P for Unix, called u9fs,[2][3] is included in Plan 9. A 9POS X clientkernel extension is provided by Mac9P.[4] A kernel client driver implementing 9P with some extensions forLinux is part of thev9fs project. 9P and its derivatives have also found application in embedded environments, such as the Styx-on-a-Brick project forLego Mindstorms Bricks.[5]

Server applications

[edit]

Many of Plan 9's applications take the form of 9P file servers. Examples include:

  • acme: a text editor/development environment
  • rio: the Plan 9 windowing system
  • plumber: interprocess communication
  • ftpfs: anFTP client that presents the files and directories on a remote FTP server in the localnamespace
  • wikifs: awiki editing tool that presents a remote wiki as files in the local namespace
  • webfs: a file server that retrieves data fromURLs and presents the contents and details of responses as files in the local namespace

Outside of Plan 9, the 9P protocol is still used when a lightweight remote file system is required:

  • NixOS: a Linux distribution that uses theNix package manager. NixOS can rebuild itself inside avirtual machine, where the client uses 9P to mount the package store directory of the host.
  • GNU Guix: apackage manager that can instantiate and manageUnix-like operating systems. It can instantiate a system inside avirtual machine in the same manner thatNixOS does
  • Windows Subsystem for Linux (WSL): since Windows 10 version 1903, the subsystem implements 9P as a server and the host Windows operating system acts as a client.[6]
  • Crostini: a custom 9P server is used to provide access to files outside of a Linux VM[7]
  • QEMU: the VirtFS device allows for filesystem sharing over 9P, which is accelerated with kernel drivers and shared memory[8][9]
  • DIOD: Distributed I/O Daemon – a 9P file server
  • ZeroFS: A 9P server with object storage backend.

See also

[edit]

References

[edit]
  1. ^"Plan 9 from Bell Labs — Overview".9p.io.
  2. ^"research: u9fs.tgz is the source code tarbal".www.netlib.org.
  3. ^"Plan 9 /sys/man/4/u9fs".9p.io.
  4. ^benavento (April 19, 2019)."9P for Mac" – via GitHub.
  5. ^"Styx-on-a-Brick".Cat-V Doc.
  6. ^"What's new for WSL in Windows 10 version 1903?".Windows Command Line Tools For Developers. February 16, 2019.
  7. ^"Running Custom Containers Under Chrome OS".Chromium OS Docs. Retrieved2019-03-28.
  8. ^Jujjuri, Venkateswararao; Van Hensbergen, Eric; Liguori, Anthony; Pulavarty, Badari (July 13–16, 2010)."VirtFS—A virtualization aware File System pass-through"(PDF).Linux Symposium.
  9. ^"Documentation/9psetup".QEMU Docs. Retrieved2019-03-28.

External links

[edit]
Disk and
non-rotating
Optical disc
Flash memory andSSD
host-sidewear leveling
Distributed parallel
NAS
Specialized
Pseudo
Encrypted
Types
Features
Access control
Interfaces
Lists
Layouts
Retrieved from "https://en.wikipedia.org/w/index.php?title=9P_(protocol)&oldid=1338858053"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp