ソフトウェア
プロセス間通信(IPC)の方式として、パイプ・共有メモリ・メッセージキューの特徴の組合せとして正しいものはどれか。
ア.パイプは双方向通信、共有メモリは低速、メッセージキューは同期が不要
イ.パイプは一方向のみ可(通常)、共有メモリは最速、メッセージキューは非同期通信
ウ.パイプは高速・大容量、共有メモリはOS管理で安全、メッセージキューは一方向のみ
エ.パイプは一方向のストリーム、共有メモリはメモリ直接共有で最速だが同期が必要、メッセージキューは構造化メッセージを非同期で送受信正解
解説
IPC手段は「社内コミュニケーション方法」みたいなもの。パイプは「一方通行の社内回覧板」(A→B方向だけ流れる)、共有メモリは「共有ホワイトボード」(速いが誰かが消して大変なことになるリスクあり→ロックが必要)、メッセージキューは「社内メール」(受信箱に溜まって、受け取った側が好きなときに読む非同期通信)!
なぜ エ が正解か
各IPC方式の特徴:①パイプ:一方向ストリーム(unidirectional)、匿名パイプは親子プロセス間。双方向には名前付きパイプ or 2本のパイプが必要②共有メモリ:仮想アドレス空間の同一物理メモリを複数プロセスが直接参照→最速のIPC。ただしアクセス競合を防ぐためセマフォ等で同期が必須③メッセージキュー:構造化されたメッセージ単位で送受信。送信側・受信側が非同期に動作でき、メッセージは受信されるまでキューに保持。
出典: AI生成問題(学習用)