Rust, quelque chose avec lequel les développeurs Linux semblent d'accord

Le langage de programmation Rust a toujours cherché à remplacer C dans le développement du noyau Linux Et c'est qu'au fur et à mesure que Rust a mûri, plusieurs développeurs ont exprimé un intérêt croissant pour son utilisation dans le noyau Linux.

Dans la conférence virtuelle de Linux Plumbers 2020, le flux de microconférence par LLVM organisé une session sur les questions ouvertes et barrières pour l'acceptation en amont de Rust sur le noyau Linux.

L'intérêt pour ce sujet est visible, car cette session était la plus chargée de l'événement 2020.

Devrions-nous maintenant réécrire tout le noyau Linux avec le langage Rust? Cette discussion ne date pas d'aujourd'hui et s'est accentuée depuis l'apparition de la première version stable de Rust en 2015.

Au vu des possibilités qu'il offre Rust, certains suggèrent de le faire. Cette année, lors de la conférence Linux Plumbers en août, les orateurs ont de nouveau eu le temps d'en discuter.

Et la chose surprenante est que ils semblent d'accord à l'unanimité non non pas pour réécrire le code existant dans Rust, mais pour que le développement du noyau continue à utiliser Rust. Autrement dit, ils envisagent un monde dans lequel de nouveaux morceaux de code pourraient être écrits en Rust.

Cette session s'appuyait sur les travaux antérieurs de nombreux développeurs, y compris une conférence l'an dernier par Alex Gaynor et Geoffrey Thomas au Linux Security Summit.

Lors de la conférence, ils ont présenté leurs travaux sur le prototypage des modules du noyau Rust et ont plaidé pour l'adoption de Rust dans le noyau.

Ils ont cité des travaux montrant qu'environ les deux tiers des vulnérabilités du noyau attribuées aux CVE dans Android et Ubuntu sont liées à des problèmes de sécurité de la mémoire.

Ils ont fini par expliquer que Rust peut complètement éviter ce genre d'erreur grâce à des API plus sécurisées activé par votre type de système et votre vérificateur de prêt.

Cette étude a déjà réussi à convaincre plusieurs mainteneurs Linus Torvalds, qui a soutenu l'introduction de Rust dans le noyau. Thomas et Gaynor, Josh Triplett, co-président de l'équipe de langage Rust et développeur de noyau Linux de longue date, ainsi que d'autres développeurs intéressés ont participé à la discussion sur le sujet.

Ils ont brièvement abordé son travail jusqu'à présent et certaines de ses premières réflexions et questions avant d'ouvrir la plupart du temps à la discussion.

Il s'agit de l'utilisation des API existantes dans le noyau, de la prise en charge de l'architecture et d'une question sur la compatibilité ABI entre Rust et C.

En fait, ils croient au départ que l'introduction de Rust dans l'arborescence doit respecter les API C existantes. 

Cependant, tout le monde pense que le diable est dans les détails, et le travail accompli jusqu'à présent et la conversation pendant la session ont révélé des défis ouverts.

Par exemple, Linux fait un usage intensif des macros de préprocesseur et des fonctions en ligne, qui ne sont pas aussi facilement supportées par l'outil bindgen et l'interface des fonctions externes de Rust.

Selon eux, actuellement, la seule implémentation mature de Rust est le compilateur rustc, qui émet du code via LLVM.

Le noyau Linux prend en charge une grande variété d'architectures, dont beaucoup n'ont pas de backend LLVM disponible.

Pour sa part, Triplett a suggéré que l'ajout de Rust au noyau aiderait à augmenter le support architectural de Rust, citant son expérience avec le projet Debian. Il a mentionné que l'introduction du logiciel Rust dans Debian a aidé à motiver les passionnés et les utilisateurs d'architectures de niche à améliorer le support Rust, et il espère ajouter le support du noyau pour avoir un effet similaire.

En particulier, il était convaincu que toute architecture avec un backend LLVM serait rapidement compatible avec Rust. La discussion s'est également concentrée sur les implémentations alternatives de Rust en tant que voie vers un support d'architecture plus large.

La session s'est terminée sans autre jalon spécifique, mais il semble y avoir un enthousiasme général pour le support des Rust Mods et un accord croissant sur les exigences générales pour ce support.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Autopilot dit

    Cela semble le début d'une nouvelle ère, l'immeuble C surgit.

    Bonjour Rust, au revoir Linus Torvalds!