応用情報技術者 2011年 秋期 午前2 問14
問題文
RPC(Remote Procedure Call)に関する記述として、適切なものはどれか。
選択肢
ア:同じOSのコンピュータ間でだけ手続呼出しが可能となる。
イ:手続呼出しは、ドライバと呼ばれる手続群をファイルに格納して、それを他のコンピュータに転送することによって実現している。
ウ:同一プログラム言語を用いたときだけ、他のコンピュータの手続呼出しが可能となる。
エ:他のコンピュータが提供する手続を、あたかも同一のコンピュータにある手続であるかのように呼び出すことができる。(正解)
RPC(Remote Procedure Call)に関する記述【午前2 解説】
要点まとめ
- 結論:RPCは他のコンピュータの手続きをあたかも自分のコンピュータ上の手続きのように呼び出せる技術です。
- 根拠:RPCはネットワーク越しに手続き呼び出しを透過的に行う仕組みで、異なるOSや言語間でも利用可能な場合があります。
- 差がつくポイント:RPCの本質は「分散環境での手続き呼び出しの透過性」であり、OSや言語の制約ではない点を理解することが重要です。
正解の理由
選択肢エは「他のコンピュータが提供する手続きを、あたかも同一のコンピュータにある手続であるかのように呼び出すことができる」と述べており、これはRPCの基本的な特徴を正確に表しています。RPCはネットワークを介してリモートの手続きを呼び出す際に、呼び出し側のプログラムがローカルの手続き呼び出しと同様に扱えるように設計されています。
よくある誤解
RPCは同じOSや同じプログラム言語でしか使えないという誤解がありますが、実際には異なる環境間でも利用可能な設計が多いです。
また、RPCは手続き群をファイル転送して実現するものではありません。
また、RPCは手続き群をファイル転送して実現するものではありません。
解法ステップ
- RPCの定義を確認し、「リモートの手続きをローカルのように呼び出す技術」であることを理解する。
- 選択肢の内容がRPCの特徴と合致しているかを検証する。
- OSや言語の制約に関する記述がある選択肢は誤りと判断する。
- ファイル転送やドライバの話が出てくる選択肢はRPCの仕組みと異なるため除外する。
- 最も正確にRPCの本質を表現している選択肢を選ぶ。
選択肢別の誤答解説
- ア: 「同じOSのコンピュータ間でだけ可能」とあるが、RPCは異なるOS間でも利用可能な場合が多く誤り。
- イ: 「ドライバと呼ばれる手続群をファイルに格納して転送」とあるが、RPCは手続きの転送ではなく呼び出しの仕組みであり誤り。
- ウ: 「同一プログラム言語を用いたときだけ可能」とあるが、RPCは異なる言語間でもインターフェース定義言語(IDL)などを用いて実現可能で誤り。
- エ: RPCの本質を正しく表現しているため正解。
補足コラム
RPCは分散システムの基盤技術の一つであり、CORBAやgRPCなどの実装例があります。これらは異なるプラットフォームや言語間の通信を抽象化し、開発者がネットワークの複雑さを意識せずにリモート手続きを利用できるようにします。
FAQ
Q: RPCはどのようにネットワーク通信を隠蔽していますか?
A: RPCはスタブと呼ばれる代理コードを用いて、リモート呼び出しをローカル呼び出しのように見せかけ、通信の詳細を隠蔽します。
A: RPCはスタブと呼ばれる代理コードを用いて、リモート呼び出しをローカル呼び出しのように見せかけ、通信の詳細を隠蔽します。
Q: RPCとREST APIの違いは何ですか?
A: RPCは手続き呼び出しの抽象化に重点を置き、RESTはリソース指向の設計でHTTPを利用した通信方式です。
A: RPCは手続き呼び出しの抽象化に重点を置き、RESTはリソース指向の設計でHTTPを利用した通信方式です。
関連キーワード: RPC, リモートプロシージャコール、分散システム、スタブ、ネットワーク通信、CORBA, gRPC

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

