プラン 9 ではすべてがファイルであると言われています。
全部挙げてください、
つまり、plan9 のファイルシステムで表されるすべてのもの (特に *nix os-es のファイルではないもの)。
プラン 9 ではすべてがファイルであると言われています。
全部挙げてください、
つまり、plan9 のファイルシステムで表されるすべてのもの (特に *nix os-es のファイルではないもの)。
「すべてがファイルである」というのは完全に真実ではなく、ほとんどのものがファイルのようなインターフェースを持っているということです。髪を裂くように見えるかもしれませんが、違いがあります。すべてをリストできるとは思いませんが、いくつか例を挙げます。
/net
「ファイル」を公開しますacme
には、ウィンドウ内のテキストを変更するためのテキストコマンドを書き込むことができる制御ファイルが関連付けられています。/dev/mouse
たとえばデータファイルとして表されますrio
はファイルシステムインターフェイスを公開しますabaco
はマウントされたwebfs
ファイルシステムから読み取ります興味深いのは、この配置からどのような相互作用が「落ちる」かということです。ほとんどすべてがどこかのファイル内のテキストであるため、通常のシェルスクリプトを使用して、IRCクライアントなどを実装できます(テキストをネットワーク「ファイル」に直接読み取り/書き込みします)。
プラン9の設計と実装については、/sys/doc
ディレクトリ(およびWeb )に多くの論文があります。
(ほぼ) 完全なリストについては、マニュアルのセクション3 devices and 4 file serverを参照してください。
基本的な考え方は、すべてのリソースがファイル システムのように見えるということです。カーネルは、デバイスの形でリソースを公開し、ファイル サーバーの形でユーザー プログラムを公開します。
これにより、ネットワーク化された環境でリソースを簡単に共有できます。たとえば、別のワークステーションに接続されているマウスを使用するには、そのワークステーションから名前空間に/dev/mouseをマップするだけです ( Plan 9 の用語ではバインド)。別のマシンをすべての tcp 接続のプロキシとして使用するには、そのマシンから/net/tcpを名前空間にバインドするだけです。
詳細はすべて非常によく考えられており、システムは実際にうまく機能します. ドキュメントとマニュアル ページを参照し、それでも興味がある場合は、試してみてインストールしてみてください。
Plan 9 はファイル システム中心であるため、システムのすべての要素をファイルとして公開します。これは、UNIX の根本的な哲学でした。このようにして、相乗効果が環境に促進され、たとえば、ネットワークの任意のノードからサポートされているデバイスにアクセスできます。構成の種類は必要ありません。
twopoint718 が言うように、Plan9 サービスの「スタイル」は、ファイルのようなインターフェイスを提供することです。
誰でも別のサービスを作成し、合成ファイル インターフェイスを介して公開できるため、「すべて」をリストすることは不可能です。
私は Plan9 スタイルをビッグチャンク オブジェクト ベース、または Alan Kay が言うように「メッセージング ベース」のシステムと考えるのが好きです。これらのサーバー (現在のパラダイムではマイクロサービス) を実装してシステムを構築し、それらのインターフェイスを定義してから、構成サービスを「配管」することで、より包括的なシステムを統合します。