IT用語集 › ハードウェア › IPC(プロセス間通信)

IPC(プロセス間通信)

ハードウェア Svenska → 更新: 2026-10-24

Inter-Process Communication。プロセス間でデータをやり取りする仕組み。UNIXにはパイプ、ソケット、共有メモリ、シグナル、メッセージキュー、セマフォがある。IPC(Instructions Per Cycle)とまぎらわしい。

性能の順位は、共有メモリ(mmap、最速だが同期は自前)、Unixソケット(ローカルIPC、約5µs)、パイプ(単一ストリーム、約10µs)、TCPループバック(約30µs)。コア間のオーバーヘッドはキャッシュ次第で、同じコア上のプロセス間のパイプならL1ヒットだが、ソケットをまたぐとNUMAの往復になる。現代的な代替には、非同期のカーネルIPCとしてのio_uringや、低オーバーヘッドのプロセス間状態共有としてのeBPFマップがある。典型的な落とし穴は、IPCのオーバーヘッドを無視した高スループットRPC設計で、マイクロサービス間に無用なシリアライズが入り込む。

← 用語集に戻る