IPC
プロセス間通信(IPC、英: interprocess communication)はコンピュータの動作において、複数プロセス(の複数スレッド)間でデータをやりとりする仕組み。通信プロセスは、同一コンピュータ内で帰結するローカル、ネットワーク接続された別のコンピュータと相互にリモート、などのほかに多様な観点で分類され、スレッド間の通信帯域幅とレイテンシや扱うデータの種類も多種多様である。メッセージパッシング、同期、共有メモリー、RPCなどのメカニズムやプリミティブがある。 プロセス間通信の目的と理由は
情報の共有
計算の高速化
モジュール性の向上
利便性
特権分離(英語版)
であり、「スレッド間通信」や「アプリケーション間通信」と呼ぶこともある。
IPCとアドレス空間のコンセプトの組合せは、アドレス空間分離の基盤である。 table:IPC
技法 提供しているオペレーティングシステムや環境
ファイル 多くのOS
シグナル 多くのOS。WindowsではCのランタイムライブラリでのみ実装しており、IPCとしての利用は推奨していない。 メッセージパッシング (shared nothing) MPI パラダイム、Java RMI、CORBA、MSMQ, MailSlot、QNX、その他