Auf dem Kernel Maintainers Summit kündigte Linus Torvalds an, dass, sofern keine unvorhergesehenen Probleme auftauchen, die Patches zur Unterstützung der Entwicklung von Treibern in Rust in den Kernel von Linux 6.1 aufgenommen werden, dessen Veröffentlichung für Dezember erwartet wird.
Zu den Vorteilen der Unterstützung von Rust im Kernel gehört die Vereinfachung des Schreibens sicherer Gerätetreiber durch die Verringerung der Wahrscheinlichkeit von Fehlern im Umgang mit Speicher und die Motivation neuer Entwickler, sich an der Arbeit am Kernel zu beteiligen. „Rust ist eines dieser Dinge, die, wie ich denke, neue Gesichter anziehen werden… wir altern und werden grau“, sagte Linus.
Linus kündigte außerdem an, dass in Version 6.1 einige der ältesten und grundlegendsten Teile des Kernels, wie die Funktion printk(), verbessert werden. Darüber hinaus erinnerte Linus daran, dass Intel vor mehreren Jahrzehnten versucht hat, ihn davon zu überzeugen, dass die Zukunft bei den Itanium-Prozessoren liegt, woraufhin er antwortete: „Nein, das wird nicht passieren, da es keine Plattform für die Entwicklung gibt. ARM macht alles richtig.“
Ein weiteres Problem, das Torvalds ansprach, war die Uneinheitlichkeit in der Produktion von ARM-Prozessoren: „verrückte Unternehmen aus dem Wilden Westen, die spezialisierte Chips für verschiedene Aufgaben herstellen“. Er fügte hinzu, dass „es ein großes Problem war, als die ersten Prozessoren aufkamen, heute gibt es genügend Standards, um das Portieren von Kerneln auf neue ARM-Prozessoren einfach zu machen.“
Zusätzlich kann die Veröffentlichung der ersten Implementierung des Treibers rust-e1000 für Intel-Ethernet-Adapter erwähnt werden, der teilweise in Rust geschrieben ist. Der Code enthält derzeit direkte Aufrufe einiger Bindungen in C, aber es wird schrittweise daran gearbeitet, diese durch Rust-Abstraktionen zu ersetzen, die für das Schreiben von Netzwerktreibern erforderlich sind (für den Zugriff auf PCI, DMA und die Netzwerk-APIs des Kernels). In seiner aktuellen Form besteht der Treiber den Ping-Test bei der Ausführung in QEMU, funktioniert jedoch derzeit nicht mit echter Hardware.
Quelle: opennet.ru
