• IT-Karriere:
  • Services:

Systemprogrammierung: Rust im Linux-Kernel hat viele Probleme

Die Linux-Community diskutiert konkrete Umsetzungsideen für Kernel-Module in Rust. In Details zeigen sich aber viele Schwierigkeiten.

Artikel veröffentlicht am ,
Der Linux-Kernel könnte Rust-Module bekommen. Bis es so weit ist, dürfte es aber noch eine Weile dauern.
Der Linux-Kernel könnte Rust-Module bekommen. Bis es so weit ist, dürfte es aber noch eine Weile dauern. (Bild: flowcomm/Flickr.com/CC-BY 2.0)

Der Linux-Kernel ist bisher fast vollständig in der Programmiersprache C geschrieben. Doch schon länger existiert die Idee, zumindest einige neue Teile von Linux in der sicheren Programmiersprache Rust zu schreiben, was inzwischen sogar prinzipiell von Chefentwickler Linus Torvalds unterstützt wird. Eine Community-Diskussion bei der Linux Plumbers Conference, die das Magazin LWN.net zusammenfasst, zeigt jedoch, dass es mit Rust im Kernel noch einige Probleme gibt.

Stellenmarkt
  1. operational services GmbH & Co. KG, Dresden, Berlin, Frankfurt am Main, München
  2. Hydro Aluminium Rolled Products GmbH, Grevenbroich

Zwar gibt es bereits erste Experimente zum Erstellen von Linux-Kernel-Modulen in Rust, die grundlegend die Machbarkeit dieser Idee zeigen. Bei der Betrachtung des gesamten Linux-Kernels und dessen Eigenheiten zeigen sich jedoch eben einige Schwierigkeiten, die zunächst gelöst werden müssten. Das Ziel soll dabei aber explizit nicht sein, den gesamten Kernel in Rust neu zu schreiben, sondern eben nur neue Teile in Rust zu erstellen.

In der Diskussion zeigt sich, dass Rust zwar einige Möglichkeiten besitzt, C-Code zu integrieren und mit diesem zu interagieren. Der Linux-Kernel nutzt jedoch intensiv Präprozessor-Makros und Inline-Funktionen, was von bestehenden Rust-Werkzeugen nicht unterstützt wird. Dafür bräuchte es Workarounds, die bei der schieren Größe des Linux-Kernels aber nicht von Hand erstellt werden können.

Ebenso ist es nicht ohne weiteres möglich, die derzeit existierenden Kernel-APIs einfach in idiomatisches Rust einzubinden. Das hat zur Folge, dass unter Umständen die Sicherheitsgarantien von Rust nicht voll zum Tragen kommen könnten. Ebenso gibt es noch Diskussionen zum Architektursupport sowie zur ABI-Kompatibilität. Immerhin ist der Standardcompiler für Rust Clang aus dem LLVM-Projekt, die meisten Linux-Builds nutzen jedoch GCC, auch wenn es davon Ausnahmen gibt.

Konkrete Umsetzungspläne sind aus der Diskussion jedoch noch nicht entwachsen. Es ist davon auszugehen, dass die Beteiligten zumindest einige der Ideen zur Problemlösung testen werden.

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


Anzeige
Top-Angebote
  1. 64,90€
  2. (u. a. Close Combat - Gateway to Caen für 7,77€, Ace Combat 7: Skies Unknown Deluxe Edition für...
  3. 499,99€ (Release 10.11.)
  4. 299,99€ (Release 10.11.)

nohoschi 07. Sep 2020 / Themenstart

Die Aussage falsch. Wir müssen bei Tatsachen bleiben und nicht maßlose Übertreibung und...

\pub\bash0r 03. Sep 2020 / Themenstart

Sicherlich ist es das, aber was nützt dir das? Du schreibst ja nicht einen neuen Kernel...

daydreamer42 02. Sep 2020 / Themenstart

Das ist richtig. Ein VBScript-Interpreter im Kernel würde die Einstiegshürden für die...

schily 02. Sep 2020 / Themenstart

Was nützt das, wenn es die Strukuturdefinitionen nicht versteht kein #include mag und...

schily 01. Sep 2020 / Themenstart

Das Ziel war damals nur das "lofs" Modul von Solaris Kern in Rust nachzubauen. - keine...

Kommentieren


Folgen Sie uns
       


    •  /