IPC 【Inter-Process Communication】 プロセス間通信

概要

IPC(Inter-Process Communication)とは、コンピュータ上で実行中のプログラムの間でデータをやり取りするための仕組み。あるプログラムから別のプログラムデータメッセージを通知したり、データの提供依頼や処理依頼をったり、依頼に対する結果を返したりすることができる。

プログラムからIPCを通じて外部のプログラムと連携することで、オペレーティングシステムOS)のカーネル常駐プログラムが提供する機能を利用したり、様々な機能や特徴を持つプログラムを連携させて全体として一つのシステム構築することができる。

単にIPCという場合は同じコンピュータ上で動作している複数のプログラム間で通信する技術を指すことが多いが、広義には異なるコンピュータで動作しているプログラム間でネットワークを介して通信する技術も含まれる。

IPCには様々な方式があり、性能や機能、制約などに違いがある。OSプログラミング言語によって利用できるものが異なる。最も単純な方法としては、ストレージ外部記憶装置)上の特定のファイルを介してデータをやり取りしたり、メインメモリ上の特定の領域を共有領域としてデータの受け渡しする手法がある。

多くのOS処理系で利用できる方式には、シグナルソケットUNIXドメインソケット/ネットワークソケット)、パイプ匿名パイプ)、名前付きパイプnamed pipe)、セマフォメッセージキューイングなどがある。

WindowsDDEOLECOM/DCOMWCFAndroidのBinder、JavaRMI(Romote Method Invocation)など、特定のシステム環境でのみ利用可能な技術も多くある。また、別のプログラムへの処理依頼や関数メソッド呼び出しなどをRPCRemote Procedure Call)などの技術をIPCの一種とすることもある。

(2023.8.24更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる