Kdbus

Interprozesskommunikation für den Kernel

D-Bus sorgt unter Linux für die Kommunikation zwischen Anwendungen. Kdbus soll das Inter-Process-Communication-Framework (IPC) zumindest teilweise in den Kernel verlegen, so Entwickler Alban Crequy. Dadurch würde der D-Bus-Systemdienst ausgespart und die Kommunikation zwischen Anwendungen beschleunigt.

Artikel veröffentlicht am ,

Laut Entwickler Crequy kostet der Umweg über den D-Bus-Daemon mindestens einen Kontextwechsel und ein Speicherzugriff. Wenn eine Applikation eine Nachricht an eine zweite Applikation versendet, wird sie zunächst über ein Unix-Socket an den D-Bus-Daemon verschickt. Der Kernel kopiert dabei die Nachricht in die Warteschleife des Systemdiensts, der daraufhin aktiviert wird. Der wiederum schreibt den Namen des Versenders in den Header der Nachricht und schickt ihn an den Empfänger weiter.

  • Kdbus
Kdbus

Kdbus hingegen soll Nachrichten ohne Umweg über den D-Bus-Systemdienst ausliefern. Dazu haben die Entwickler ein neues Socket mit dem Namen "AF_DBUS" implementiert, über den IPCs laufen sollen. Der Kdbus-Kernel liest alle Nachrichten, die über AF_DBUS versendet werden und sucht in den Zeichenketten Hello, NameAquired, NameLost und AddMatch nach eindeutigen Namen (Unique Names), bekannten Namen und übereinstimmenden Regeln (Match Rules).

Je nach Zuordnung wird die Nachricht direkt an die angesprochene Applikation versendet. Dank der Funktion skb_clone() wird die Nachricht auch dann nur einmal in den Speicher geschrieben, wenn es mehrere Empfänger gibt. Der Kdbus-Prototyp verwendet weiterhin den D-Bus-Daemon für die Authentifizierung.

Positive Benchmark-Resultate

Laut Crequy erzielt Kdbus mit dem Benchmark Dbus-Ping-Pong in einer KVM-basierten virtuellen Maschine, bei 10.000 Aufrufen an D-Bus mit 2,085 Sekunden gegenüber 3,887 Sekunden, fast doppelt so schnelle Antwortzeiten. Auf einem Nokia N900 erzielte er mit Kdbus die dreifache Geschwindigkeit. Mit einem weiteren Test prüfte Crequy, wie lange die Herstellung einer Verbindung zu einem Jabber-Server auf einem N900 von Nokia braucht. Hier war Kdbus etwa 1,12 mal schneller.

Es gebe noch zahlreiche Einschränkungen und vor allem auch Sicherheitsbedenken, gibt Crequy zu. Es handele sich jedoch um ein Proof-Of-Concept und könne weiter optimiert werden. Er hat die Idee von Entwickler Ian Molton übernommen.

D-Bus ist als Nachrichtensystem für Desktop-Anwendungen konzipiert worden und sollte die IPC für Gnome und KDE standardisieren. Über den Session-Bus sorgt D-Bus für die Kommunikation zwischen Anwendungen und über den System-Bus mit dem Kernel. Das Framework steht unter der Ägide der Freedesktop-Initiative.

Hauptursache für einen langsamen Rundgang der Nachrichten über D-Bus sind zahlreiche Gültigkeitsprüfungen. Der Geschwindigkeitszuwachs wäre zumindest auf einem Standard-Desktop-Rechner zu vernachlässigen. Dort ist das System mehr mit Hardware-Eingaben und grafischen Ausgaben belastet. Ein D-Bus-Aufruf spielt eine eher untergeordnete Rolle. Nach Crequys Ping-Pong-Benchmark erfolgt der Nachrichtenaustausch auch ohne Kdbus nach nicht mehr als 0,4 Millisekunden - auch in einer virtuellen Maschine. Der Einsatz von Kdbus kann sich hingegen bei geringerer Hardware-Leistung positiv auswirken, etwa auf mobilen Geräten. Das belegen auch Crequys Ping-Pong-Benchmarks auf dem N900.

Sicherheitsaspekte dürften bei der Aufnahme des Projekts in den Kernel eine wesentliche Rolle spielen, da D-Bus im User-Space aktiv ist. Ob die Entwickler das für den Desktop konzipierte IPC-Framework in den Kernel integrieren, ist eher zweifelhaft.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


hmjam 20. Sep 2010

Jep! Genau meine Meinunng. Die angesprochenen Apps sind für sich schon über die Maßen...

xfhnsyfdygnjsfygn 20. Sep 2010

Und deswegen sollten wir jetzt alle unsere Arbeiten einstellen. Sehe ich genau so. -.-

rzdetjartjartej 20. Sep 2010

Wo forderst du das?

sdfhnjasdgtnhagdn 20. Sep 2010

Für mich kommt das aus dem Artikel ganz gut raus. Aber ist schon klar, dass der, der...



Aktuell auf der Startseite von Golem.de
Quellcode auf Github
MS-DOS 4.00 ist jetzt Open Source

Nachdem der ehemalige CTO eine alte MS-DOS-Floppy entdeckt hat, veröffentlicht Microsoft ein Stück Betriebssystem-Geschichte.

Quellcode auf Github: MS-DOS 4.00 ist jetzt Open Source
Artikel
  1. Per GPU geknackt: So sicher sind 8-Zeichen-Passwörter 2024
    Per GPU geknackt
    So sicher sind 8-Zeichen-Passwörter 2024

    Ein gutes Passwort sollte mindestens 8 Zeichen lang sein, lautet oftmals die Empfehlung. Neue Untersuchungen zeigen jedoch: Die Zeit ist reif für mehr.

  2. Startrampe Set: Lego bietet Milchstraße und Nasa-Rakete Artemis als Bausatz
    Startrampe Set
    Lego bietet Milchstraße und Nasa-Rakete Artemis als Bausatz

    Lego hat zwei neue Sets vorgestellt, die für Weltraumenthusiasten gedacht sind: das Nasa-Artemis-Startrampen-Set und das Milchstraßen-Galaxie-Set.

  3. Marskolonie: Elon Musk spricht über Marspläne sowie Starship 2 und 3
    Marskolonie
    Elon Musk spricht über Marspläne sowie Starship 2 und 3

    Für die Besiedlung des Mars braucht es mehr Raumschiffe und Startmöglichkeiten. Elon Musk redet vor seinen SpaceX-Mitarbeitern sogar von der Entwicklung vom Starship 2 und 3.
    Ein Bericht von Patrick Klapetz

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Asus OLED-Monitor zum Tiefstpreis • Gigabyte GeForce RTX 4070 Ti im Sale • MediaMarkt: Asus Gaming-Laptop 999€ statt 1.599€ • Gamesplanet Spring Sale [Werbung]
    •  /