Rust im Linux-Kernel: Gut genug fĂĽr Treiberentwicklung

Drei Monate nach der AnkĂĽndigung soll "Rust for Linux" jetzt fĂĽr die Entwicklung von Linux-Treibern und Kernel-Modulen bereit sein.

vorlesen Druckansicht 273 Kommentare lesen
Lesezeit: 2 Min.

Die Entwickler des Projekts "Rust for Linux" um Miguel Ojeda haben mit einer Serie von 17 umfangreichen Patches die Rust-UnterstĂĽtzung im Linux-Kernel erweitert. Sie sei nun gut genug, um Rust fĂĽr die Entwicklung von Treibern und anderen Modulen zu benutzen, so Ojeda auf der Kernel-Mailingliste.

"Rust for Linux" erweitert den Kernel um eine Infrastruktur, die es erlaubt, Rust als Alternative zu C für die Kernel-Entwicklung zu nutzen. Es wurde im April 2021 angekündigt und fand bei den wichtigsten Linux-Entwicklern, inklusive Linus Torvalds, insgesamt positive Resonanz. Torvalds befürchtete jedoch Probleme bei der Speicherallozierung, die Kernel Panics auslösen könnten.

Die jetzt vorgelegte Version soll das vorerst durch eine eigene, auf den Kernel abgestimmte Version der Allozierungsbibliothek (im Rust-Jargon Alloc-Crate) verhindern. Künftig sollen aber alle Änderungen wieder in Standard-Rust zurückfließen, sodass keine speziellen Versionen für die Kernel-Entwicklung mehr nötig sind.

In seiner Ankündigung auf der Kernel-Mailingliste gab Ojeda eine ganze Reihe von zusätzlichen Updates bekannt: Unterstützung der ARM- und RISC-V-Architekturen, Funktionen und Infrastruktur für Software- und Dokumentationstests und eine Überarbeitung von Abstraktionsschicht und Treibern.

Auch ist kein spezieller Compiler mehr fĂĽr Kernel-Code notwendig, die aktuelle Beta-Version des Compilers und das derzeit stabile rustc reichen aus, jedoch mĂĽssen einige experimentelle Features aktiviert sein. Nach wie vor gilt auch die gesamte Rust-UnterstĂĽtzung als experimentell, wird aber ab Dienstag in linux-next, dem "Bleeding Edge"-Zweig des Kernel-Codes, zu finden sein.

Die Unterstützung einer moderneren Sprache als C im Linux-Kernel findet in der IT-Industrie großes Interesse. So wird "Rust for Linux" von Google gesponsert, obwohl der Konzern mit Go eine systemnahe Sprache mit ähnlicher Ausrichtung hat. Microsoft wird voraussichtlich Hyper-V-Treiber für Linux in Rust entwickeln. ARM und IBM steuerten architekturspezifischen Code bei.

Videos by heise

(ulw)