ベル研究所のPlan 9のファイルシステム
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/13 14:35 UTC 版)
「ファイルシステム」の記事における「ベル研究所のPlan 9のファイルシステム」の解説
Plan 9 from Bell Labs (Plan 9) はUNIXの長所を拡張して新たなアイデアを導入し、UNIXの欠点を修正したものとして計画された。 ファイルシステムの観点から言えば、UNIX的に何でもファイルとして扱うという思想は変わっていないが、Plan 9では本当に「すべて」がファイルとして扱われ、アクセスされる (つまりioctlもmmapもない)。ファイルインターフェイスを汎用化すると同時にそれを大幅に単純化している。例えば、シンボリックリンクもハードリンクもsuidも古い機能とされ (obsolete)、アトミックなcreate/open操作が導入された。重要な点はファイル操作がうまく定義されているためにioctlなどを排除できたことである。 また、9Pプロトコルによってローカルとリモートのファイルの違いが無くなっている (時間的な遅延だけは残っている)。このため、ネットワーク経由で別のコンピュータシステム上のデバイス (これもファイルとして表される) をローカルにあるデバイスと全く同じように操作することが可能となっている。従ってPlan 9の元では、複数のファイルサーバをひとつのファイルシステムに見せることができる。この「合成」ファイルシステムのサーバ群は、システムの単純さを保ちながらマイクロカーネルの利点を生かしてユーザー空間で動作することもできる。 Plan 9では全てのものがファイルとして抽象化されている。ネットワーク、グラフィックス、認証、暗号化など様々なサービスをファイル識別子経由の入出力で扱える。例えば、NATなしでIPスタックのゲートウェイシステムを構築したり、追加コードなしでネットワーク透過なウィンドウシステムを提供したりできる。 Plan 9のアプリケーションはFTPサイトからFTPサービスを受けることもできる。ftpfsサーバによってリモートのFTPサイトをローカルのファイルシステムにマウントすることができ、普通のファイルシステムとして扱えるのである。仮想的なファイルやディレクトリを合成するファイルサーバで /mail/fs/mbox をユーザーのメールボックスとするような電子メールシステムもある。wikifsはwikiへのファイルシステムインターフェイスを提供する。 これらのファイルシステムは、プロセス毎のプライベートな名前空間によって構成される。そのため、各プロセスは分散システムに存在する数々のファイルシステムを固有の観点で見ることができる。 Infernoは、これらの概念をPlan 9から受け継いでいる。
※この「ベル研究所のPlan 9のファイルシステム」の解説は、「ファイルシステム」の解説の一部です。
「ベル研究所のPlan 9のファイルシステム」を含む「ファイルシステム」の記事については、「ファイルシステム」の概要を参照ください。
- ベル研究所のPlan 9のファイルシステムのページへのリンク