プロセス間通信(IPC)とは?ぷろせすかんつうしん
プロセス間通信(IPC)とは、プロセスごとにメモリ空間を分けるというOSの前提を、必要な箇所だけ意図して貫き、データを受け渡す仕組みの総称。パイプ、メッセージキュー、共有メモリ、ソケット、シグナルがあり、速度・結合度・同一ホストに閉じるかの3点で選び分ける。
最終更新:2026-10-06
この語が出る過去問を解く →背景
あるプロセスの異常が他へ波及しないよう、OSはメモリ空間を隔離している。隔離は安全のためだが、協調して動く処理どうしは何らかの経路がなければ連携できない。どの経路を選ぶかは、性能の要求と、将来別ホストへ分けたいかという構成の見通しで決まるため、方式設計の段階で決めておかないと後の分散化で作り直しになる。
具体例
同一ホスト内で大きな画像を渡すなら共有メモリが最速だが、書き込みと読み出しの順序はセマフォなどで自分で守る。将来のスケールアウトの余地を残すならUNIXドメインソケットやgRPCにしておき、宛先をTCPへ差し替えるだけで別ホストへ移せる形にする。
試験での引っ掛け
共有メモリは速いが同期は含まれない。排他を別に用意しないと書きかけの状態を読む。メッセージキューは順序と到達の面倒を見る代わりにコピーが発生する。速い遅いだけで比較していると、どの方式が何を保証しているのかを問う設問に対応できない。
関連用語
出た過去問
出典:令和4年度 春期 システムアーキテクト試験 午前Ⅱ 問4(IPA)解説で登場
組込みシステムでDBMSを用いるときには、通信のオーバヘッド、通信負荷の発生を防ぐこと、必要なメモリ容量をリソース制限内に抑えることなどを目的として、インプロセ…
正解:データベースエンジンはライブラリ形式で提供され、アプリケーションプログラムとリンクされて同一メモリ空間で動作する。
要点:アプリと同一プロセスで動くライブラリ形式のDBMSがインプロセスDB
インプロセスデータベースは、DBMSの機能がライブラリとして提供され、アプリケーションプログラムにリンクされて同一プロセス・同一メモリ空間で動作する方式である。プロセス間通信やネットワーク通信が発生しないためオーバヘッドが小さく、必要なメモリも抑えやすいので、資源制約の厳しい組込みシステムに向く。
出典:令和6年度 春期 システムアーキテクト試験 午前Ⅱ 問2(IPA)解説で登場
組込みシステムで DBMS を用いるときには、通信のオーバーヘッド、通信負荷の発生を防ぐこと、必要なメモリ容量をリソース制限内に抑えることなどを目的として、イン…
正解:データベースエンジンはライブラリ形式で提供され、アプリケーションプログラムとリンクされて同一メモリ空間で動作する。
要点:アプリと同一プロセスで動くライブラリ形式のDBMSがインプロセスDB
インプロセスデータベースは、DBMSの機能がライブラリとして提供され、アプリケーションプログラムにリンクされて同じプロセス・同じメモリ空間の中で動作する方式である。プロセス間通信やネットワーク通信を伴わないためオーバーヘッドが小さく、メモリ使用量も抑えやすいので、資源制約の厳しい組込みシステムに適する。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。