IPC: KDBus in wenigen Wochen im Kernel
Vor etwa einem Jahr konkretisierte der Kernel-Hacker Greg Kroah-Hartman den Plan, die Interprozesskommunikation (IPC) von Linux-Systemen in den Kernel zu verlagern. Bisher läuft der Standard D-Bus als Daemon im Userspace. Dank gemeinsamer Arbeiten mit den Systemd-Entwicklern kann der Kernel D-Bus (KDBUS) womöglich schon in wenigen Wochen in den Linux-Entwicklungszweig aufgenommen werden, wie Kroah-Hartman nun in seinem Blog schreibt(öffnet im neuen Fenster) .

Kroah-Hartmann ist deshalb so zuversichtlich, weil ein entsprechend angepasstes Fedora-System bereits mit KDBus und Systemd gestartet werden kann. Zwar sind im Code noch " einige Ecken und Kanten ", doch die Entwickler wollen diese bei einem Hackfest unmittelbar vor der Fosdem Anfang Februar(öffnet im neuen Fenster) beseitigen und das Einpflegen des Codes vorbereiten.
KDBus kein Ersatz für Android Binder
In der Vergangenheit hatte Kroah-Hartman noch vermutet, dass KDBus künftig statt der Android-IPC Binder genutzt werden könne. Doch nach Meinung der Systemd-Entwickler Lennart Poettering und Kay Sievers wäre das nur mit sehr viel Aufwand zu erreichen.
Denn stark vereinfacht nutzten Binder und KDBus zwei unterschiedliche Konzepte der IPC. So verwende Binder hauptsächlich die CPU und sei wie ein Systemaufruf, es verhalte sich sehr ähnlich wie Mutex(öffnet im neuen Fenster) . Zudem sei die Anzahl der Prozesse, die Binder zur gleichen Zeit nutzten, stark begrenzt, " auf den meisten Systemen etwa 16 ".
D-Bus und damit auch die Kernel-Implementierung hingegen arbeite mit Nachrichten im RAM. Die CPU spiele dabei nur eine untergeordnete Rolle, um den Speicher zwischen den Prozessen zu übergeben. Dies ähnele der Arbeit eines Protokolls zur Netzwerkkommunikation.
Darüber hinaus sei Binder ursprünglich für Geräte mit Microkernel entstanden und sei damit bestens für Szenarien mit fast keinem Speicher sowie sehr niedrigen CPU-Ressourcen geeignet. D-Bus hingegen sei theoretisch so flexibel, dass auch " Gigabyte große Buffer zu jeder Verbindung an den Bus weitergereicht werden können ", sofern dies gewünscht sei.
Ein kurze Einführung zu dem Konzept von KDBus und der dazugehörigen Userspace-Bibliothek in Systemd gibt der Vortrag von Lennart Poettering, den er auf der diesjährigen Linux-Conf-Australia gehalten hat. Auf der Fosdem will Poettering den Vortrag wiederholen. Zum Testen steht der Code via Github(öffnet im neuen Fenster) zur Verfügung, zur Nutzung ist außerdem der aktuelle Entwicklungszweig von Sytemd(öffnet im neuen Fenster) notwendig.
- Anzeige Hier geht es zu Linux: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



