Startschuss für Rust-Entwicklung im Linux-Kernel
Mit "Rust for Linux" soll es möglich werden, Kernelcode und Kernelmodule in Rust zu schreiben. Linus Torvalds gefällt die Idee, aber er hat noch Einwände.
Die Entwickler des Projekts "Rust for Linux" haben die technischen Voraussetzungen geschaffen, um Code für den Linux-Kernel in Rust zu schreiben. In einem RFC auf der Linux-Kernel-Mailingliste beschreibt Miguel Ojeda den aktuellen Stand des Projekts. Rust ist wie C, dem Standard zur Kernelentwicklung, eine systemnahe Sprache, die jedoch viele moderne Features enthält, die den Code einfacherer, sicherer und fehlerunanfälliger machen.
Rust for Linux erweitert den Linux-Kernel um eine Infrastruktur, die es erlaubt, beispielsweise Kernel-Module in Rust zu programmieren. Ein Beispiel haben die Entwickler gleich mitgeliefert und den Android-IPC-Modul Binder in Rust implementiert. Eine Quick-Start-Anleitung beschreibt, was zur Entwicklung von Kernelcode mit Rust nötig ist.
Experimentell, aber testbar
Derzeit benötigt man eine spezielle Entwicklerversion des Rust-Compilers, wobei für Kernelcode einige Rust-Features nötig sind, die noch nicht in Rust-stable eingeflossen sind. Ein Kernel-Crate (Rust-Bezeichnung für Bibliothek) stellt die Kernel-API für Rust-Module bereit. Sie ist noch nicht vollständig – insgesamt ist der Rust-Support im Linux-Kernel noch experimentell. Ojeda fordert die Kernelentwickler auf, den aktuellen Stand der Dinge zu testen und die im RFC beschriebenem Überlegungen zum Rust-Support im Linux-Kernel zu kommentieren.
In die Diskussion um den RFC zu Rust-Support im Linux-Kernel hat sich auch Linux-Erfinder Linus Torvalds eingeschaltet. Er steht der Idee, Kernel-Code mit Rust zu schreiben, grundsätzlich positiv gegenüber. Allerdings ist er unsicher, ob der derzeitige Stand der Rust-Implementierung schon gut genug für den Kernel ist. Insbesondere befürchtet er, dass Fehler bei der Speicherallozierung eine Kernel Panic auslösen könnte – für Torvalds ein absolutes No-go. Miguel Ojeda ist allerdings zuversichtlich, dass sich dieses Problem schnell lösen lässt.
(odi)