D-Bus 允许程序在其上注册以提供服务给其他的程序。同时他也提供客户端程序查询有哪些服务是可得的可能性。程序也可注册以等待kernel的events比如说硬件的热插拔。
D-Bus 以daemon的方式实现。使用者可以执行好几个D-Bus的实体,每个实体被称为一个channel。通常系统中会有一个特权的channel称之为system channel,以及每个使用者拥有一个私有的实体。使用者需要私有的实体因为system channel将有存取的限制。
D-Bus受到了DCOP系统的影响而且在KDE 4中取代DCOP;他已经被集成在Qt 4, GNOME,Windows以及 Maemo 系统中。GNOME也逐渐的用它来取代了大部分的早期Bonobo机制。
System channel主要的功用在于传递HAL的消息给对这些消息感兴趣的processes。而私有实体的功能在于提供程式间无限制的沟通。[1]
|