Zum Hauptinhalt Zur Navigation

Entwicklung: Microsoft legt Rust-Framework für Windows-Treiber offen

Nach internen Experimenten mit Rust will Microsoft nun offenbar seine Partner zur Nutzung von Rust für Treiber bewegen.
/ Sebastian Grüner
12 Kommentare News folgen (öffnet im neuen Fenster)
Das inoffizielle Maskottchen der Rust-Community ist eine Krabbe namens Ferris. (Bild: Pixabay)
Das inoffizielle Maskottchen der Rust-Community ist eine Krabbe namens Ferris. Bild: Pixabay

Microsoft hat ein sehr umfangreiches Repository mit zahlreichen einzelnen Projekten als Open Source auf Github veröffentlicht(öffnet im neuen Fenster) , das die Entwicklung von Windows-Treibern in der Programmiersprache Rust ermöglichen soll. Laut der Beschreibung stammen die Arbeiten vom Surface-Team, also aus der Hardwareabteilung von Microsoft. Es ist entsprechend davon auszugehen, dass für Surface-Geräte bereits Rust-Treiber zum Einsatz kommen oder zumindest dafür in Planung sind.

Konkret handelt es sich bei den Projekten um Rust-Pakete (Crates), mit denen die üblichen Treiber-Modelle WDM und WDF umgesetzt werden können, also auch Kernel- und Usermode-Treiber. Ebenso möglich werden sollen damit Systemdienste (Win32). Die Crates umfassen allen voran idiomatische API-Anbindungen an das Windows Development Kit (WDK), die Safe-Rust unterstützen. Hinzu kommen FFI-Anbindungen, Makros sowie Bibliotheken zur Panic-Behandlung, zur Speicherzuweisung oder zum Bauen und Linken der Treiber selbst.

Bereits im Frühjahr dieses Jahres gab Microsoft bekannt, für einige wichtige Systemkomponenten bis hin zum Windows-Kernel auf Rust zu setzen. Das soll vor allem die Pflege erleichtern und letztlich auch die Sicherheit zu erhöhen, indem auf die Sicherheitsgarantien von Rust gesetzt werden kann. Seit mehr als zwei Jahren gibt es außerdem Sprachanbindungen für das klassische Win32-API für Rust.

Die nun vorgestellten Arbeiten für Rust-Treiber will Microsoft derzeit aber weder offiziell unterstützen noch für den kommerziellen Einsatz empfehlen. Es handele sich dabei vielmehr um ein Experiment, um die Community einzubinden. Für Interessierte stellt das Unternehmen einen Beispieltreiber bereit, der mit den neuen Rust-Treibern erstellt wurde.


Relevante Themen