Rust, dem scheinen Linux-Entwickler zuzustimmen

Die Programmiersprache Rust war immer bestrebt, C in der Linux-Kernel-Entwicklung zu ersetzen Und als Rust gereift ist, haben mehrere Entwickler ein wachsendes Interesse an seiner Verwendung im Linux-Kernel bekundet.

In der virtuellen Konferenz von Linux Plumbers 2020, der Mikrokonferenzfluss von LLVM organisierte eine Sitzung zu offenen Fragen und Barrieren für die Upstream-Akzeptanz von Rust auf dem Linux-Kernel.

Das Interesse an diesem Thema ist sichtbar, da diese Sitzung die geschäftigste der Veranstaltung 2020 war.

Sollen wir nun den gesamten Linux-Kernel mit der Rust-Sprache umschreiben? Diese Diskussion stammt nicht aus dem heutigen Tag und wurde seit dem Erscheinen der ersten stabilen Version von Rust im Jahr 2015 verstärkt.

In Anbetracht der Möglichkeiten, die es bietet Rust, einige schlagen vor, es zu tun. Dieses Jahr auf der Linux Plumbers-Konferenz im August Die Redner hatten wieder Zeit, darüber zu diskutieren.

Und das Überraschende ist das sie scheinen zuzustimmen einstimmig nein Nicht um den vorhandenen Code in Rust neu zu schreiben, sondern um die Kernelentwicklung weiterhin mit Rust zu betreiben. Das heißt, sie stellen sich eine Welt vor, in der neue Codeteile in Rust geschrieben werden könnten.

Diese Sitzung baut auf der früheren Arbeit vieler Entwickler auf, einschließlich eines Vortrags von Alex Gaynor und Geoffrey Thomas auf dem Linux Security Summit im letzten Jahr.

Auf der Konferenz stellten sie ihre Arbeit zum Prototyping von Rust-Kernelmodulen vor und plädierten für die Übernahme von Rust im Kernel.

Sie zitierten Arbeiten, die zeigen, dass ungefähr zwei Drittel der Kernel-Schwachstellen, denen CVEs in Android und Ubuntu zugewiesen wurden, mit Speichersicherheitsproblemen zusammenhängen.

Am Ende erklärten sie das Rust kann diese Art von Fehlern dank sichererer APIs vollständig vermeiden aktiviert durch Ihren Systemtyp und Ihren Kreditprüfer.

Diese Studie konnte bereits mehrere Betreuer überzeugen Linus Torvalds, der die Einführung von Rust in den Kernel unterstützte. Thomas und Gaynor, Josh Triplett, Co-Vorsitzender des Rust-Sprachteams und langjähriger Linux-Kernel-Entwickler, sowie andere interessierte Entwickler nahmen an der Diskussion zu diesem Thema teil.

Sie berührten kurz seine bisherige Arbeit und einige seiner ersten Gedanken und Fragen, bevor sie die meiste Zeit zur Diskussion standen.

Dies sind die Verwendung vorhandener APIs im Kernel, die Architekturunterstützung und eine Frage zur ABI-Kompatibilität zwischen Rust und C.

Tatsächlich glauben sie das zunächst Das Einführen von Rust in die Baumstruktur muss die vorhandenen C-APIs berücksichtigen. 

Jeder hat jedoch das Gefühl, dass der Teufel im Detail steckt, und sowohl die bisher geleistete Arbeit als auch das Gespräch während der Sitzung haben einige offene Herausforderungen ergeben.

Beispielsweise verwendet Linux häufig Präprozessor-Makros und Inline-Funktionen, die vom bindgen-Tool und der externen Funktionsoberfläche von Rust nicht so einfach unterstützt werden.

Nach ihnen, Derzeit ist der Compiler die einzige ausgereifte Implementierung von Rust rustc, das Code über LLVM ausgibt.

Der Linux-Kernel unterstützt eine Vielzahl von Architekturen, von denen viele kein LLVM-Backend zur Verfügung haben.

Triplett seinerseits schlug vor, dass das Hinzufügen von Rust zum Kernel dazu beitragen würde, die architektonische Unterstützung für Rust zu erhöhen, und verwies auf seine Erfahrungen mit dem Debian-Projekt. Er erwähnte, dass die Einführung der Rust-Software in Debian dazu beigetragen hat, Enthusiasten und Benutzer von Nischenarchitekturen zu motivieren, die Rust-Unterstützung zu verbessern, und er hofft, die Kernel-Unterstützung hinzuzufügen, um einen ähnlichen Effekt zu erzielen.

Insbesondere war er davon überzeugt, dass jede Architektur mit einem LLVM-Backend schnell mit Rust kompatibel sein würde. Die Diskussion konzentrierte sich auch auf alternative Rust-Implementierungen als Weg zu einer breiteren Unterstützung der Architektur.

Die Sitzung endete ohne weitere spezifische Meilensteine, aber es scheint eine allgemeine Begeisterung für die Unterstützung von Rust Mods und eine wachsende Übereinstimmung über die allgemeinen Anforderungen für diese Unterstützung zu bestehen.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Autopilot sagte

    Es scheint der Beginn einer neuen Ära zu sein, das unbewegliche C taucht auf.

    Hallo Rust, Tschüss Linus Torvalds!