Red Hat开发者正在开发的Linux内核D-Bus实现(Kdbus)取得了重大进展。他们使用Kdbus和最新systemd创造了一个可启动的Fedora 20系统。代码应该能支持其它现代Linux发行版,但目前仅在Fedora 20测试过。kdbus支持内核消息过滤、提供了可靠的次序保证,支持传送文件描述符,它被认为比用户空间的D-Bus能提供更强的安全性和更好的性能。 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。而私有实体的功能在于提供程式间无限制的沟通。 |