Zum Hauptinhalt Zur Navigation

Interprozesskommunikation: Androids Binder im Standard-Linux-Kernel

Die IPC aus Android – Binder – ist aus dem Staging-Zweig für kaputte Treiber in den Standardzweig für Linux 3.19 überführt worden. Mit dem Code sind die Entwickler aber nach wie vor nicht zufrieden.
/ Sebastian Grüner
6 Kommentare News folgen (öffnet im neuen Fenster)
Greg Kroah-Hartman auf dem Linuxtag 2014 (Bild: Jörg Thoma/Golem.de)
Greg Kroah-Hartman auf dem Linuxtag 2014 Bild: Jörg Thoma/Golem.de

Aus reinem Pragmatismus heraus argumentiert der Kernel-Hacker Greg Kroah-Hartman(öffnet im neuen Fenster) für die Aufnahme von Androids Binder(öffnet im neuen Fenster) in den Hauptentwicklungszweig vom Linux-Kernel. Dem ist Linus Torvalds nun nachgekommen(öffnet im neuen Fenster) , sodass Binder mit der Veröffentlichung von Linux 3.19 ein Standard-Modul wie jedes andere sein wird.

Bisher ist die Interprozesskommunikation (IPC) Binder im Staging-Zweig vom Linux-Kernel gepflegt worden. Staging(öffnet im neuen Fenster) ist als zentraler Ort für Treiber gedacht, die entweder noch nicht fertig sind oder nicht richtig funktionieren. Beim Laden dieser Module erscheint deshalb die Bezeichnung TAINT_CRAP . Einige Kernel-Entwickler verweigern das Beheben von Fehlern, falls ein Kernel damit läuft und Probleme auftauchen.

Kroah-Hartman schreibt, Binder sei seit Jahren stabil und werde in Millionen von Geräten problemlos genutzt. Zwar sei der Code " füchterlich " und die Userspace-API ließe einiges zu wünschen übrig, das werde sich aber aus Gründen nicht mehr ändern, über die die Kernel-Entwickler keine Kontrolle hätten. Da aber so viele Geräte und Unternehmen von Binder abhingen und der Code stabil sei, solle Binder aus Staging heraus verschoben werden.

Alternativen zu Binder

Derzeit arbeiten einige Entwickler daran, Binder in Android durch etwas Neues zu ersetzen. Die Ergebnisse dazu erwartet Kroah-Hartman aber frühestens in einem Jahr. Sollte dies geschehen und Android auf die neue Version wechseln, werde Kroah-Hartman den alten Code entfernen und den neuen hinzufügen.

Ebenfalls für IPC entsteht derzeit KDBus in Zusammenarbeit von Systemd- und Kernel-Entwicklern. Binder und KDBus unterscheiden sich konzeptuell aber in einigen wesentlichen Dingen, sodass diese nicht einfach austauschbar sind. Details dazu erklärte Kroah-Hartman bereits Anfang dieses Jahres(öffnet im neuen Fenster) .

Vor drei Jahren(öffnet im neuen Fenster) begannen die beteiligten Entwickler damit, den Android-Kernel-Code in den Hauptentwicklungszweig von Linux einzupflegen.


Relevante Themen