D-Bus は、プログラムが通信できるようにします。この IPC はどのように実装されていますか? Unix ドメイン ソケット、共有メモリ + セマフォ、名前付きパイプ、その他の何か? もしかして組み合わせ?
4 に答える
通常は UNIX ソケットを使用していると思います。Linux では、「抽象名前空間」Unix ソケットを使用する場合があります。これは、ファイルシステムに可視ファイルとして物理的に存在しないことを除いて同じです。
これは、質問DBusクエリと非常によく似ています。そして、グーグルからの答えは、TCP/IPまたはUnixドメインのいずれかのソケットでした。
どうやら、IPC または TCP/IP:
http://www.freedesktop.org/wiki/Software/dbus
更新:つまり
、さまざまな OS での複数の IPC メソッドと TCP/IP です。
http://dbus.freedesktop.org/doc/dbus-daemon.1.htmlは、UNIX リファレンス エディションが UNIX ドメイン ソケットと tcp/ip の両方を使用していることを示しています。
過去に、カーネルから直接ネットリンクソケットを使用する試みがいくつかありました。最近(前回のLPCで発表)、D-Busユーザースペースデーモンを取り除き、カーネルにD-Busを配置する作業をしている人もいます。おそらくソケットも使用しますが、ネットリンクやその他のアプローチを復活させる可能性があります。