1

Linux のソース コードには、nfs と nfsd の 2 つのブランチがあります。2つの違いは何ですか?

2 つの中でNFS 属性を探してrdattr_errorみたところ、異なる実装が見つかりました。

4

2 に答える 2

3

NFS は、サーバー側デーモン (nfsd) を使用して着信要求を処理するという点で、他の RPC サービスと似ています。これは、NFS クライアント上のプロセスが一部の RPC 呼び出し自体を行い、他の RPC 呼び出しはクライアントの非同期スレッドによって行われるという点で、典型的なクライアント サーバー モデルとは異なります。NFS クライアントとサーバーのコードはすべて、サーバー デーモンの実行可能ファイルではなく、カーネルに含まれています。

NFSD:

nfsd はユーザーレベルのプロセスですが、NFS 要求を処理するコードは含まれていません。nfsd は、カーネルにトランスポート エンドポイントを与えるシステム コールを発行します。システム コールを呼び出して、トランスポート エンドポイントで NFS 要求のカーネル内処理を開始します。

NFS:

クライアント側では、NFS マウントされたファイルシステムにアクセスする各プロセスが、NFS サーバーに対して独自の RPC 呼び出しを行います。

参照:

http://docstore.mik.ua/orelly/networking_2ndEd/nfs/ch07_03.htm

于 2015-11-24T13:23:55.563 に答える