Linux では、rpc は Remote Procedure Call の略でリモート プロシージャ コールを意味します。具体的には、プロシージャ コール中に実際の通信内容を隠す IPC メソッドを指します。Linux では、RPC は非共有メモリベースのマルチプロセッサ環境により、システム リソースの使用率が向上します。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
RPC: (リモート プロシージャ コール) リモート プロシージャ コール
RPC (リモート プロシージャ コール) 中国語のフルネーム リモートLinux には rpcbind ソフトウェアがあります。これは、rpc の簡単な応用例です。ネットワーク ストレージ NFS に関連するソフトウェアです。ユーザーが NFS ストレージを見つけたい場合は、まず RPCBIND にアクセスする必要があります。
特に、プロシージャが呼び出されたときに実際の通信の詳細を隠す IPC メソッドを指します。クライアントはローカル メソッドを呼び出します。このローカル メソッドは、リモート サーバーとの透過的なプロシージャ間通信を担当します。このローカル メソッドは、関連するパラメータをメッセージに順番にパックし、サーバーが提供するメソッドにメッセージを送信します。サーバー メソッドは、メッセージからシリアル化されたパラメータを抽出して実行します。最後に、同じメソッドが実行します。メソッドの戻り値をクライアントに送信するために使用されます。
RPC を通じて、非共有メモリのマルチプロセッサ環境 (LAN 経由で接続された複数のワークステーションなど) を最大限に活用できるため、アプリケーションを複数のワークステーションに簡単に分散できます。マルチプロセッサ コンピュータ上で実行されているものと同じです。プロセスコードの共有化が容易に実現でき、システムリソースの利用効率が向上し、処理能力の高いシステム上で大量の数値処理を実行できるため、フロントエンドマシンの負担を軽減できます。
拡張知識:
IPC: (プロセス間通信) クロスプロセス通信
この概念は一般に、プロセス間のあらゆる形式の通信動作を指し、どこでも使用できる用語です。これには、さまざまな形式のメッセージ パッシングが含まれるだけでなく、共有リソースや同期オブジェクト (ミューテックスまたはその他の類似のもの) も参照できます。つまり、共有リソースへの安全な同時アクセスを確保します (つまり、2 つ以上のオブジェクトがアクセスできないようにします)。データ メンバーが変更されてデータが破壊されるか、同僚がデータの読み取り/書き込みを行うときに競合状態が発生してエラーが発生します)]]。
LPC(Local Procedure Call)
LPC は、「Local Procedure Call」の略称です。いわゆる「ローカル プロシージャ コール」は、「リモート プロシージャ コール」、つまり RPC に対して相対的なものです。 RPC は広範囲にわたります。RPC は、異なるホスト間で発生することも、同じホスト上で発生することもあり、同じホスト上で発生する場合は LPC です。したがって、Unix の文脈では LPC のようなものは存在せず、同じホスト上で発生する場合でも、RPC と呼ばれます。
歴史的に、RPC は、「Unix 分散コンピューティング環境 (Unix DCE)」を実装するために「Open Software Foundation (OSF)」によって設計および提案された標準です。実際、Microsoft の DCOM テクノロジは RPC に基づいています。 Win2000 の RPC は、TCP/IP、SPX、NetBIOS、名前付きパイプ、および基礎となる通信方法として「ローカル」を使用できます。この「ローカル」が LPC です。
一方、Windows は多くのマイクロカーネル システム機能を備えたオペレーティング システムです (ただし、そのカーネルはマイクロカーネルではありません)。システム内には多くの「システム レベル」のサービス プロセスが存在します。 csrss、ユーザーのログインを管理する「ローカル セキュリティ認証サービス」プロセス LSASS などでおなじみです。ユーザー プロセスや Microsoft が提供するシステム ツール ソフトウェアは、これらのサービス プロセスによって提供されるサービスを呼び出す必要があることが多く、ここで LPC が重要な役割を果たします。
LPC の基礎は、ローカル (Unix ドメイン) ソケットに似た「ポート」と呼ばれるプロセス間通信メカニズムです。このポート メカニズムは、メッセージ パッシングを中心としたプロセス間通信を提供します。LPC は、これに基づいて構築され、プロセス間のプロシージャ コールを提供する高レベル メカニズムです。ここでのいわゆる「プロセス間プロシージャ呼び出し」は、前述の「プロセス間操作」とは異なることに注意してください。前者は、双方が合意し、一定の手順に従った制御されたサービスの提供であり、呼び出し先は外部にどのようなサービスを提供するか、つまりどの関数呼び出しを提供するかについては独立していますが、後者は、外部にどのようなサービスを提供するかについては独立しています。知らず知らずのうちに行われ、利用され、操作されています。前者は良性ですが、後者は悪性である可能性があります。
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinuxにおけるrpcとはどういう意味ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。