当我研究Linux进程间通信时,我已经知道了一些方法,例如:管道、消息队列、套接字、信号、共享内存、信号量,而且没有一种叫做Dbus的方法。
但是今天,当我研究Dbus时,我读到:“D总线是一个进程间通信系统”(参见链接:https://en.wikipedia.org/wiki/D-Bus)。
所以我的问题是: DBus和其他IPC方法有什么不同?
发布于 2015-11-24 08:32:09
一种一对一的ipc方法有一大组协同过程,会造成网格的密集。但是,在Dbus的情况下,每个进程可以连接到具有授予访问权限的任意数量的进程。在公共共享信道上,用户可以连接自己的会话或新会话,而不影响其他用户的会话。这大大提高了性能。
参考链接
https://blogs.gnome.org/abustany/2010/05/20/ipc-performance-the-return-of-the-report/
这显示了DBus性能与自定义IPC系统的比较。您可以更好地理解Dbus的性能。
发布于 2015-11-24 08:14:04
没有技术上的差异,而是历史上的差异。
D总线过去不是Linux (即内核) IPC,而是一个额外的中间件IPC。但是在介绍systemd
的过程中,D总线成为了几个Linux发行版的基本系统的一部分。
https://stackoverflow.com/questions/33887063
复制相似问题