Plan 9に関する世界観です。
ベル研究所のUNIXの開発メンバーが開発する、研究用の分散OS。
UNIXの反省に基づいて、さらなるファイル指向や賢いネットワーク・アーキテクチャの下に設計されている。
UNIXの反省を踏まえた上で、ベル研究所の作っている研究用の分散OSがPlan 9である。
ネットワーク化・GUI化した最近のコンピューティング環境を踏まえて、ネットワーク分散型でさらなるファイル指向を目指したOSを研究向けながら開発している。
GUIには、タイル型のような先進的な環境を採用。また、バージョン管理システムなどを搭載したファイルシステムなどに改善点が見られる。
僕は昔調べていたことがあるが、覚えていないので、間違いがあるかもしれない。
ソースコード
UNIXを生んだベル研究所(AT&Tと、AT&Tからベル研究所を受け継いだルーセント・テクノロジーズ)による、UNIXのファイル指向をさらに進めた研究用の分散OS。
9Pという分散ファイルシステムのプロトコルの下、全てのリソースをファイルとして扱える。
ネットワークは単一した名前空間であり、階層型のファイルシステムとして扱える。リモートでもローカルでも、どんなリソースも9Pプロトコルとと階層型ファイルシステムの名前空間からアクセスできる。
UNIXでは、ひとつのコンピュータに対して複数の端末が備え付けられ、デバイスもそのローカルな環境でのデバイスを主としてシステムが構築されることを前提としていた。
Plan 9では、たくさんのネットワークに繋がった分散システムにおいて、多くのコンピュータを1つのシステムとして扱えるようにした取り組みがなされている。
UNIXでは、ファイルやハードウェアデバイスなどがファイルとして表されたが、UNIXやコンピュータそのものの発展とともに、ファイルとして扱えないコンピュータ上のリソースが増えてきた。
Plan 9では、こうしたものを、もう一度ファイルとして捉えなおし、特に分散環境においての共通のシステム環境をもう一度階層型のパス情報を持ったファイルによって表現する。
Plan 9のUnionディレクトリは、異なるホストのディレクトリを透過的に結合するディレクトリの機能。たとえばローカルにある/binディレクトリを、ネットワーク上にあるほかのホストにある/binディレクトリと結合し、ひとつのディレクトリとして扱うことができる。
Plan 9では、ローカルにあるファイルやデバイスだけではなく、ネットワーク上にあるリソースや、ウィンドウシステムの画面なども、すべてパス情報を持ったファイルで表される。/netディレクトリにはネットワーク上にあるリソースが存在し、/netディレクトリそのものがTCP/IPにおけるAPIの役割を持っている。たとえば/net/tcpや/net/udpなどがファイルとして表現される。
また、Plan 9では分散ファイルシステムを9Pというプロトコルで扱うことができる。ネットワーク上にある名前付きのオブジェクトは、9Pプロトコルによってファイルとしてインターフェースを持つ。
また、ファイルシステムにはバージョン管理システムが統合されており、バックアップする必要がない。
Plan 9のAcmeは、コマンドラインシェル、テキストエディタ、ウィンドウシステム、タイル型ウィンドウマネージャなどを兼任する、Plan 9の開発者向けシステムシェル。
詳しくは以下のページが参考になります。
Plan 9は多くのプログラマに輝かしい光を与えたが、普及しなかった。
その一因として、「UNIXほどの大きな進歩がなかったから」と言われている。「旧来のUNIXを置き換えるほどには先進的ではなかったからだ」とエリック・レイモンドは述べている。
UNIXはさびつきながらもきちんと動いており、役割をこなしていたが、それをリプレースするほどの先進性はPlan 9にはなかった。
ただし、Linuxに勝てなかったPlan 9 - @ITで言われているように、「OSをUNIXからPlan 9に置き換えるほどの大変化をしなくても、もっと上位のレベル層で同じことをやれば良い」ということは言えるかもしれない。低レベルなOS階層で分散システムを構築しなくても、Linuxならもっと上位の層で同じことはできる。
また、/procファイルシステムやUnicode(UTF-8)など、いくつかの機能はLinuxや別のOSにも採用されている。
Plan 9から派生した分散OS。
分散OSも参照のこと。