Linuxカーネルは、パス名にバインドされたUnixドメインソケット用のファイルを生成します。
Linuxカーネルはインターネットドメインソケット用のファイルを生成しますか?
ベストアンサー1
いいえ、ハードドライブまたは他のブロックデバイス上のファイルではありません。
見たらソケット.cLinuxソースコードからソケット用のinodeを生成しますが、データは次の場所にあることがわかります。sockfs ファイルシステム、カーネル自体内の仮想ファイルシステムで、kmalloc型の関数を介してスペースを割り当てます。この意味では、ソケットはメモリに常駐する匿名ファイルです。
これは、ユニバーサルユーティリティが実際の物理メディア上のファイルと同じ機能を実行することに焦点を当てたデザインパターンである「Unixのすべてはファイルです」という概念にさかのぼります。 〜のようにリヌス・トバルズ指摘した:
「すべてがファイルです」のポイントは、任意のファイル名を持つことではなく(ソケットとパイプは、「ファイル」と「ファイル名」が互いに関係がないことを示します)、共通名を使用できることです。物事の道具を異なって機能させる事実。
したがって、ソケットにはファイルと同様のアクセス用のinodeがありますが、実際のファイルシステムには存在しません。
ただし、プロセスネットワーキングに使用され、ディスクファイルシステムに常駐するIPCタイプのオブジェクトであるUnixドメインソケットがあります。