内部実装
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/04 03:41 UTC 版)
「UNIXドメインソケット」の記事における「内部実装」の解説
LinuxにおけるUNIXドメインソケットは、バッファ(メモリ)への書き込みと読み込みという非常にシンプルな仕組みで実装されている。 Linuxカーネルのlinux/net/unix/af_unix.c (GitHub mirror) に実装される。SOCK_STREAMの場合、カーネル内部ではソケットバッファへのメッセージコピー・peerがもつsk_receive_queueのtail、受信側のsk_data_ready呼び出し、を繰り返すことでデータを転送する。 UNIXドメインソケットは単一マシン上のIPCが前提である。ゆえにTCPのようなプロトコルスイートは不要であり、プロトコルの重層が生むデータの入れ子構造を持たない。またネットワークに由来するパケットロスや到達順序保証の対応も必要ないため、バッファのread/writeというシンプルな仕組みで実装されている。結果として高効率なIPCが可能となっている。
※この「内部実装」の解説は、「UNIXドメインソケット」の解説の一部です。
「内部実装」を含む「UNIXドメインソケット」の記事については、「UNIXドメインソケット」の概要を参照ください。
- 内部実装のページへのリンク