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. Professur (W2) für "Digitale Gesundheitsanwendungen und Medical Apps"
    Fachhochschule Dortmund, Dortmund
  2. IT Support- und Digitalisierungsmanager(in) (w/m/d)
    Krone gebäudemanagment und technologie gmbh, Berlin
Detailsuche

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.

Golem Akademie
  1. Advanced Python – Fortgeschrittene Programmierthemen: virtueller Zwei-Tage-Workshop
    27.–28. Januar 2022, Virtuell
  2. Jira für Anwender: virtueller Ein-Tages-Workshop
    10. November 2021, virtuell
Weitere IT-Trainings

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


nohoschi 07. Sep 2020

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

\pub\bash0r 03. Sep 2020

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

daydreamer42 02. Sep 2020

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

schily 02. Sep 2020

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

schily 01. Sep 2020

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



Aktuell auf der Startseite von Golem.de
Resident Evil (1996)
Grauenhaft gut

Resident Evil zeigte vor 25 Jahren, wie Horror im Videospiel auszusehen hat. Wir schauen uns den Klassiker im Golem retro_ an.

Resident Evil (1996): Grauenhaft gut
Artikel
  1. Streaming: Chromecast erhält spezielle Youtube-Fernbedienung
    Streaming
    Chromecast erhält spezielle Youtube-Fernbedienung

    Die Steuerung von Youtube auf einem Chromecast soll mit einer neuen Funktion deutlich komfortabler werden.

  2. Studie: Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren
    Studie
    Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren

    Nur eine sehr geringe Minderheit der Eltern will ihrem Kind erst mit 15 Jahren ein Smartphone zur Verfügung stellen.

  3. Google: Kopfhörer verlieren Google-Assistant-Support auf iPhones
    Google
    Kopfhörer verlieren Google-Assistant-Support auf iPhones

    Wer Google Assistant am Kopfhörer benutzen will, ist künftig auf ein Android-Gerät angewiesen.

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 • Saturn-Advent: Samsung Portable SSD T5 1 TB 84€ • ViewSonic VX2718-2KPC-MHD (WQHD, 165 Hz) 229€ • EPOS Sennheiser GSP 670 199€ • EK Water Blocks Elite Aurum 360 D-RGB All in One 205,89€ • KFA2 Geforce RTX 3070 OC 8 GB 1.019€ • Alternate (u. a. AKRacing Core SX 269,98€) [Werbung]
    •  /