Plan 9 from Bell Labs:ベル研究所の研究用オペレーティングシステム
Plan 9 from Bell Labsは、自由ソフトウェアとして公開された研究用オペレーティングシステムである。9Pプロトコルによってシステム資源をファイルとして扱い、プロセスごとの名前空間とrio GUIを備える。
概要
Plan 9 from Bell Labsは、自由ソフトウェアとして公開された研究用オペレーティングシステムであり、きわめて統一的でファイル中心の計算モデルを軸に設計されている。しばしば分散オペレーティングシステムと説明されるPlan 9は、ベル研究所のComputing Sciences Research Centerにより、UNIXの後継として1980年代後半から開発された。その設計は、デバイス、サービス、ネットワーク上の資源を一貫したファイルシステム抽象化を通じて公開する、単純で組み合わせ可能なインターフェースを重視している。
画像ギャラリー
5 画像設計と主な機能
Plan 9の中核には、「すべてはファイルである」という原則を、従来のUNIXよりもさらに徹底する考え方がある。デバイスやローカル資源だけでなく、ネットワークサービスやユーザーインターフェースもファイルとして表現され、アクセスされる。この統一性は、ローカルおよびリモートの資源へアクセスするために用いられる軽量なネットワークファイルプロトコル、9Pによって実現される。しばしば9P2000と呼ばれる後のプロトコル改訂版は、同じファイル指向モデルを維持しつつ、当初の意味論を拡張している。
主な技術的特徴は次のとおりである。
- プロセスごとの名前空間: 各プロセスは独自のファイルシステムの見え方を持てるため、他のプロセスに影響を及ぼさずに、プライベートなマウントや再構成を行える。
- ユニオンマウントとサービス: 複数のディレクトリを重ね合わせる機能と、ファイルシステムのパスの下にサービスを公開する機能を備える。たとえば、/srv以下のディレクトリツリーが該当する。
- 改良されたプロセスおよび制御ファイルシステム: プロセスやカーネルのオブジェクトをファイルとして公開する、より統一的なproc形式のインターフェースを提供する。
- Unicode(UTF-8)対応: システム全体でネイティブかつ一貫した文字エンコーディングを採用する。
- 統合グラフィカル環境: rioウィンドウシステムは環境に組み込まれており、ファイル指向のインターフェースと連携するよう設計されている。
歴史と名称
Plan 9は、分散・並行コンピューティングへの新たな手法を探求する実験的平台として構想された。UNIXから得られた教訓を基礎としつつ、インターフェースと資源共有に関する中核的な前提を見直したものである。印象的な名称Plan 9 from Bell Labsは、カルト的なSF映画Plan 9 from Outer Spaceに由来する。また、ウサギのマスコットであるGlendaなどのプロジェクトの図像には、Glen or Glendaのような古い映画の題名への言及がみられる。Plan 9は大衆市場への普及ではなく研究を目的に開発されたが、その考え方は後のシステムや学術研究に影響を与えた。
用途、影響と現在の状況
Plan 9は主流のデスクトップまたはサーバープラットフォームになったことはないが、その洗練された抽象化と最小限で首尾一貫したインターフェースを評価する愛好家、教育者、研究者の間で利用されてきた。その影響は、ファイル中心または名前空間主導の設計を採る後続プロジェクトに現れており、9Pプロトコルも他のシステムやツールで再利用されている。システムは自由ソフトウェアとして公開されたため、小規模なコミュニティが移植版、派生版、関連ツールを保守し、実験のためにその思想を利用可能な状態に保っている。
主な相違点
従来のUNIX系システムと比べた場合、Plan 9の最も目立つ相違点は、ファイル以外の資源を表現するためにもファイルシステムを広範に用いること、サービスを柔軟に構成できるプロセスごとの名前空間モデル、そして9Pを介したネットワーク透過性を組み込みの前提とすることである。UNIXが互換性と共通のカーネルインターフェースを重視したのに対し、Plan 9はインターフェースの直交性と単純さを優先した。こうした異なるトレードオフは、システム設計者やオペレーティングシステムを学ぶ人々にとって、現在も関心の対象であり続けている。
技術的な要約、実装、コミュニティ資源については、プロジェクトの文書および、Plan 9のアーキテクチャとオペレーティングシステム研究における遺産を分析する現代の回顧資料を参照できる。
関連項目
著者
AlegsaOnline.com Plan 9 from Bell Labs:ベル研究所の研究用オペレーティングシステム Leandro Alegsa
URL: https://ja.alegsaonline.com/art/77230