Loading AI tools
ウィキペディアから
プロセス間通信(プロセスかんつうしん、IPC、英: interprocess communication)はコンピュータの動作において、複数プロセス(の複数スレッド)間でデータをやりとりする仕組み。通信プロセスは、同一コンピュータ内で帰結するローカル、ネットワーク接続された別のコンピュータと相互にリモート、などのほかに多様な観点で分類され、スレッド間の通信帯域幅とレイテンシや扱うデータの種類も多種多様である。メッセージパッシング、同期、共有メモリ、RPCなどのメカニズムやプリミティブがある。
プロセス間通信の目的と理由は
であり、「スレッド間通信」や「アプリケーション間通信」と呼ぶこともある。
技法 | 提供しているオペレーティングシステムや環境 |
---|---|
ファイル | 多くのOS |
シグナル | 多くのOS。WindowsではCのランタイムライブラリでのみ実装しており、IPCとしての利用は推奨していない[要出典]。 |
メッセージキュー | 多くのOS |
ソケット | 多くのOS |
UNIXドメインソケット | POSIX準拠システム |
パイプ | POSIX準拠システム、Windows |
名前付きパイプ | POSIX準拠システム、Windows |
セマフォ | POSIX準拠システム、Windows |
共有メモリ | POSIX準拠システム、Windows |
メモリマップトファイル | POSIX準拠システム、Windows |
メッセージパッシング (shared nothing) | MPI パラダイム、Java RMI、CORBA、MSMQ, MailSlot、QNX、その他 |
Binder | Android |
IPCとして使われているAPIはいくつかある。プラットフォームに依存しない主なAPIの例を挙げる。
以下は、プラットフォーム固有またはプログラミング言語固有のAPIの例である。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.