UNIXドメインソケット 【UNIX domain socket】
概要
UNIXドメインソケット(UNIX domain socket)とは、同じコンピュータ上で同時に実行されている異なるプログラム(プロセス)間でデータを送受信するプロセス間通信(IPC:Inter-Process Communication)の一つで、ネットワーク通信で用いられるソケット(socket)の仕組みを流用したもの。UNIX系OSでは、ネットワークを通じて実行中のプログラム間でデータの送受信を行うための標準的な仕組みとして「BSDソケット」(BSD socket)が提供される。プログラム上で相手先のIPアドレスやポート番号、通信プロトコルなどを指定して通信端点を作成し、これに対して各種の操作を行うことで通信する。
UNIXドメインソケットはBSDソケットの特殊な場合として提供されることが多く、そのコンピュータのファイルシステム上に通信用の特殊な領域(実際にはカーネルの管理するメモリ領域)を作り、ここに各プロセスが読み書きを行うことでデータの受け渡しを行う。
通信する両者が同じコンピュータ内に存在することが前提のため、通信プロトコルの処理などは省略され、ネットワーク通信用のソケット実装よりも効率よくデータの伝送ができるように調整されている。
(2022.7.25更新)