2011-01-12 9 views
4

例として、9P(a.k.a Styx)と呼ばれるPlan9のファイルシステムプロトコルを選択します。 は、ウィキペディアの記事は述べているとおり:ファイルシステムプロトコルとは何ですか?どのように動作しますか?

9Pから、コンポーネントプランの

は私が知りたい9のシステムを接続する手段として開発されたネットワークプロトコル(...)ですこのようなモジュール通信システムを構築するために使用すべき技術は何か、という観点から見たものです。そして、このプロトコルをサポートするために、オペレーティングシステム(Unix派生物を読む)のための要件は何か。

私の理解では、ネットワーク全体の各コンポーネント(id est、アプリケーション、モジュール)にはプライベートコントローラが必要です(またはこのコントローラをシステム全体で共有する必要がありますか)。個々のアプリケーションの内部ロジックと通信プロトコル自体(XMLのような特定の言語、データベース、または情報のファイルシステムの何らかの種類の反映さえあるかもしれない)との間で変換タスクを実行する能力。この(私)の観点から、記述されたシステムは、クライアント - サーバアーキテクチャの変形として定義することができるが、ローカルまたは制限されたネットワーク範囲に投影され、直接的なデータアクセスおよび効率に重点が置かれている。それで、ファイルシステムプロトコルの設計を参照してください。 ...

私は、オペレーティングシステムのプロセス/アプリケーション通信技術の研究を開始しました。この概念を実際に見るためにミニファイルシステムプロトコルを開発したいと思います。私は理論的な基礎が漏れているため、実際の具体的な作業計画を持っていないので、説明、文献提案、事例、コメントだけは大歓迎です!

答えて

2

/sys/docセクション(またはオンラインhtmlpspdf)のPlan9ネットワークに関するすべてを読むことができます。

これが機能することを、高レベルの方法はあなたの理解に似て、システムは17のプロトコルメッセージ(opencreatewalkremoveのようなもの)があります。サーバからのメッセージの送受信には、RPCメカニズムがあります。ここでは、紙からの引用です:

カーネルデータ構造は、チャンネルは、ファイルサーバへのハンドルです。チャネル上の操作は、以下の9Pメッセージを生成する。 sessionattachのメッセージは、9Pの外部で確立された接続を認証し、そのユーザを検証します。その結果、サーバーのルートを参照する認証済みのチャネルが生成されます。 cloneメッセージは、dupシステムコールのように、新しいチャンネルを既存のチャンネルと同じにします。 walkメッセージを使用して、階層内の各レベルを下降させるために、サーバー上のファイルにチャネルを移動することができます。 statwstatメッセージは、チャネルによって参照されるファイルの属性を読み書きします。 openメッセージは、次のreadおよびwriteメッセージがファイルの内容にアクセスするためのチャネルを準備します。 Createおよびremoveは、チャネルによって参照されるファイルでその名前が暗示する操作を実行します。 clunkメッセージは、ファイルに影響を与えずにチャネルを破棄します。

Plan9については、このインターフェイスがオペレーティングシステムに普及しているという点がうかがいます。多くのものがこのインターフェース(ファイルサーバー)を提示します。

関連する問題