IPC: KDBus in wenigen Wochen im Kernel
Die Kernel-Implementierung von D-Bus könnte schon in wenigen Wochen in Linux eingepflegt werden, schreibt Greg Kroah-Hartman. Androids Binder wird KDBus wohl aber nie ersetzen können.

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.
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 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. 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 zur Verfügung, zur Nutzung ist außerdem der aktuelle Entwicklungszweig von Sytemd notwendig.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
ack, besten dank an die RED das einzubinden :)