Что является базовым транспортом для D-Bus?

D-Bus позволяет программам взаимодействовать. Как реализован этот IPC? Сокеты домена Unix, общая память + семафоры, именованные каналы, что-то еще? Может комбинация?


person fish    schedule 21.02.2009    source источник


Ответы (4)


Я думаю, что он обычно использует сокеты UNIX. В Linux он может использовать сокеты Unix с «абстрактным пространством имен», которые идентичны, за исключением того, что они физически не существуют в виде видимых файлов в файловой системе.

person MarkR    schedule 21.02.2009

Это удивительно похоже на вопрос запрос DBus. И ответ от Google был сокетами - либо для TCP/IP, либо для домена Unix.

person Jonathan Leffler    schedule 21.02.2009

Судя по всему, IPC или TCP/IP:

http://www.freedesktop.org/wiki/Software/dbus
Обновление:
Я имею в виду несколько методов IPC в разных ОС, а также TCP/IP.
http://dbus.freedesktop.org/doc/dbus-daemon.1.html показывает, что эталонная версия Unix использует оба доменные сокеты unix и tcp/ip.

person Chris    schedule 21.02.2009

В прошлом были попытки использовать сокеты netlink непосредственно из ядра. Совсем недавно (объявлено во время последнего LPC) некоторые люди работают над тем, чтобы избавиться от демона D-Bus в пользовательском пространстве и поместить D-Bus в ядро, вероятно, он также будет использовать сокеты, но, возможно, возродит netlink или другие подходы.

person elmarco    schedule 26.02.2009