9P

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
TCP/IP群
アプリケーション層

BGP / DHCP / DNS / FTP / HTTP / IMAP / IRC / LDAP / MGCP / NNTP / NTP / POP / RIP / RPC / RTP / SIP / SMTP / SNMP / SSH / Telnet / TFTP / TLS/SSL / XMPP

カテゴリ
トランスポート層

TCP / UDP / DCCP / SCTP / RSVP

カテゴリ
ネットワーク層

IP (IPv4, IPv6) / ICMP / ICMPv6 / IGMP / IPsec

カテゴリ
リンク層

ARP/InARP / NDP / OSPF / トンネリング (L2TP) / PPP / MAC (イーサネット, IEEE 802.11, DSL, ISDN)

カテゴリ

9P (または Plan 9 Filesystem Protocol または Styx)とはPlan 9 from Bell Labs分散オペレーティングシステムのために、Plan 9システムの構成要素を接続する手段として開発された、ネットワークプロトコルである。ファイルはPlan 9の重要なオブジェクトである。 ファイルはウィンドウネットワークの接続、プロセスや、その他オペレーティングシステムで利用可能なほとんどのものを表現している。 9PはNFSとは異なり、キャッシュや、仮想ファイル(例えば、プロセスを表現する/proc)の提供も補助する。

9Pは、Plan 9の第4版のために、9P2000という名前で様々な抜本的な改良を含む改訂をされた。Inferno operating systemの最新版も9P2000を使用している。Inferno file protocolは元々はStyxと呼ばれていたが、技術的には常に9Pの変種であった。

他の変種、9p2000.uUnix環境をより良くサポートするための改訂である。詳細はv9fs 9p2000.uを見よ。Unixのための9Pサーバ実装はu9fsと呼ばれており、Plan 9ディストリビューションに含まれている。Linuxのためのカーネルクライアントドライバはv9fsプロジェクトの一部である。9Pとその派生物はStyx on a Brick projectのような組み込み環境のアプリケーションにも見られる。

サーバアプリケーション[編集]

Plan 9アプリケーションの多くが9Pサーバの形になっている。注目に値する例には以下のものがある。

  • acme: プログラマのためのユーザインターフェース
  • rio: Plan 9のウィンドウマネージャ
  • plumber: プロセス間通信
  • wikifs: wiki

実装[編集]

9pはクライアントとサーバの間で以下のメッセージを送る。[1] これらのメッセージは、いかなる9pサーバも実装しなければならないPlan 9vfsレイヤのエントリーポイントに対応している。

version
プロトコルのバージョンのネゴシエーションを行う
error
エラーを返す
flush 
メッセージを打ち切る
auth, attach 
接続を確立するためのメッセージを送る
walk 
ディレクトリ階層を辿る
create, open 
既存または新規ファイルのI/Oをするためにfidを作成する
read, write 
ファイルとデータの送受信をする
clunk 
fidを忘れる
remove
サーバからファイルを削除する
stat, wstat 
ファイルの属性を問い合わせる、または変更する

関連項目[編集]

参照文献[編集]

外部リンク[編集]