Die Möglichkeit, Rust-Unterstützung in den Linux-5.20-Kernel zu integrieren, ist nicht ausgeschlossen

Auf der Konferenz Open-Source Summit 2022 laufend in diesen Tagen, in der FAQ-Sektion, Linus Torvalds erwähnte die Möglichkeit einer frühen Integration im Linux-Kernel Komponenten zu entwickeln Gerätetreiber in Rust.

So wurde erwähnt, dass Rust-fähige Patches möglicherweise im nächsten Änderungsprotokoll akzeptiert werden, das die 5.20-Kernel-Komposition ausmacht, die für Ende September geplant ist.

Es sei daran erinnert, dass Rust seit letztem Jahr zu einem der Favoriten für die Einbeziehung in verschiedene wichtige Projekte geworden ist und dass in der vergangenen Zeit bereits an der Implementierung der Rust-Unterstützung gearbeitet wurde.

Unter den renommierten Projekten, die sich seit letztem Jahr für Rost interessieren, können wir zum Beispiel Android hervorheben, da es sich für Rost interessierte Rust weil es erlaubt eine Leistung erreichen, die der von C und C++ nahe kommtDies ermöglicht die Entwicklung von Teilen der Plattform und Komponenten auf niedriger Ebene für die Schnittstelle mit der Hardware.

Um die Sicherheit von C- und C ++ - Code zu gewährleisten, verwendet Android Sandbox-Isolation, statische Analyse und Fuzzing-Tests. Sandbox-Isolationsfunktionen sind begrenzt und haben die Grenze ihrer Funktionen erreicht (eine weitere Fragmentierung in Prozessen ist unter dem Gesichtspunkt des Ressourcenverbrauchs nicht praktikabel).

Zu den Einschränkungen bei der Verwendung von Sandbox zählen der hohe Overhead und der höhere Speicherverbrauch, die durch die Notwendigkeit der Generierung neuer Prozesse verursacht werden, sowie die zusätzliche Latenz, die mit der Verwendung von IPC verbunden ist.

Rust-Android
Verwandte Artikel:
Rust ist bereits ein Favorit für die Android-Entwicklung

Andererseits dürfen wir das nicht vergessen Linus Torvalds gab auch seine Meinung zu Rust und in denen ab damit verbracht, die Umsetzung zu überprüfen Patch mit Möglichkeiten zum Festlegen von Rust-Sprachtreibern im Linux-Kernel und äußerte einige Kritik.

Die größten Beschwerden wurden verursacht durch Fluchtpotential "Laufzeitfehler Panik" in falschen Situationen, Beispiel: In einer Situation mit zu wenig Speicher können dynamische Speicherzuweisungsoperationen, einschließlich Kerneloperationen, fehlschlagen.

Torvalds erklärte, dass eine solche Fokussierung auf den Kernel grundsätzlich inakzeptabel ist, Und wenn Sie diesen Punkt nicht verstehen, können Sie jeden Code, der versucht, einen solchen Ansatz zu verwenden, vollständig ablehnen. Andererseits stimmte der Entwickler des Patches dem Problem zu und hielt es für lösbar.

Linus Torvalds
Verwandte Artikel:
Rust war nicht von der Kritik an Linus Torvalds befreit

Aber es ist mehrere Monate her, seit Linus sein Feedback gegeben hat, und es wurde hart daran gearbeitet, die Implementierung zu verbessern. Als solche, ein Pull-Request für den Core wurde Torvalds aktuell noch nicht übermittelt, Aber das Patch-Set wurde weiter überarbeitet, Keynotes entfernt, einige Zeit im Linux-Next-Zweig getestet und in einen Zustand gebracht, in dem Abstraktionsschichten auf Kernel-Subsystemen aufgebaut und Treiber und Module geschrieben werden können.

Rostunterstützung ist optional erhältlich Dies ist standardmäßig nicht aktiviert und führt nicht dazu, dass Rust in die erforderlichen Build-Abhängigkeiten für den Kernel aufgenommen wird.

Die vorgeschlagenen Änderungen ermöglichen es, Rust als Zweitsprache zu verwenden um Treiber und Kernel-Module zu entwickeln. Die Verwendung von Rust zur Entwicklung von Treibern ermöglicht es Ihnen, mit minimalem Aufwand bessere und sicherere Treiber zu erstellen, ohne Probleme wie den Zugriff auf einen Speicherbereich nach der Freigabe, Dereferenzieren von Nullzeigern und Pufferüberläufe.

Speichersicherheit wird in Rust zur Kompilierzeit bereitgestellt B. durch Überprüfen von Referenzen, Nachverfolgen des Objektbesitzes und der Objektlebensdauer (Scope) sowie durch Bewerten der Korrektheit des Speicherzugriffs während der Codeausführung. Rust bietet auch einen Integer-Overflow-Schutz, erfordert, dass Variablen vor der Verwendung initialisiert werden, behandelt Fehler in der Standardbibliothek besser, erzwingt standardmäßig das Konzept unveränderlicher Variablen und Referenzen und bietet eine starke statische Typisierung, um logische Fehler zu minimieren.


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  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.