Rust-Unterstützung für den Linux-Kernel
Zusammenfassung
Jonathan Corbet beschreibt frühe Vorschläge, Rust als zweite Sprache für speichersichere Treiber und Kernelmodule kontrolliert einzuführen.
Ideen
- Rust verhindert viele ungültige Speicherzugriffe bereits beim Übersetzen.
- Kernelcode benötigt eine Umgebung ohne normale Standardbibliothek.
- Bindungen verbinden Rust-Module mit bestehenden C-Schnittstellen.
- Unsichere Blöcke konzentrieren unvermeidbare Vertrauensannahmen an sichtbaren Stellen.
Einsichten
- Eine sichere Sprache reduziert Fehlerklassen, beseitigt aber keine Logikfehler.
- Neue Sprachen bringen Toolchain- und Wartungsverpflichtungen über Jahrzehnte.
- Schrittweise Einführung schützt Stabilität und schafft praktische Lernerfahrung.
Fakten
- Die Diskussion fand 2020 auf der Linux Plumbers Conference statt.
- Miguel Ojeda leitete die frühe Rust-for-Linux-Arbeit.
- Der Linux-Kernel bestand zuvor fast vollständig aus C und Assembler.
Empfehlungen
- Beginne mit neuen, klar abgegrenzten Treibern.
- Prüfe unsichere Rust-Blöcke mit derselben Sorgfalt wie C-Code.
Referenzen
Der Link zur Originalquelle öffnet einen neuen Tab.