AccueilActualités informatiqueNoyau Linux : le développement de Rust progresse avec une nouvelle édition

Noyau Linux : le développement de Rust progresse avec une nouvelle édition

L’équipe qui souhaite intégrer Rust comme second langage à côté du C dans le noyau Linux a publié la version v2 du patch, qui apporte quelques ajouts par rapport à la v1. En ce qui concerne l’infrastructure, le projet mise désormais sur le compilateur Rust stable au lieu du compilateur bêta utilisé jusqu’à présent. Il y a également des adaptations pour les paquets core et alloc.

Rust est en discussion depuis un certain temps déjà pour le développement du noyau Linux. Un avantage important par rapport au C est la sécurité mémoire par défaut, car les erreurs de mémoire sont responsables d’une grande partie des vulnérabilités dans les logiciels. La mise en œuvre s’est concrétisée en juillet 2020. Peu avant, Linus Torvalds avait déclaré qu’il pouvait en principe imaginer l’utilisation de Rust dans le noyau Linux.

Parmi les premiers soutiens du projet figurent Google, Microsoft et ARM. Dans le mail de la v2, Miguel Ojeda, le principal développeur de l’implémentation de Rust, annonce que Red Hat a également manifesté son intérêt pour la mise en œuvre.

En ce qui concerne l’infrastructure, le projet s’appuie avec la version actuelle v2 sur Rust 2021, la troisième édition du langage de programmation publiée en octobre. La version 1.57, publiée début décembre, est à la base de cette version corrective.

En passant au compilateur stable et actuel, l’équipe a pu améliorer les fonctions const_fn_transmute, const_panic, const_unreachable_unchecked, core_panic et try_reserve stabiliser le système. Une liste des fonctionnalités encore instables est disponible sur GitHub. Dès que le projet aura stabilisé les fonctions restantes ou qu’elles ne seront plus nécessaires, l’annonce d’une version minimale pour Rust dans le noyau Linux est prévue, de manière analogue aux directives pour GCC et Clang.

(Image : Rust-for-Linux)

En outre, le Crate, c’est-à-dire le paquet Rust, alloc sera plus modulaire afin d’inclure certaines fonctionnalités non nécessaires au projet, telles que no_sync seront désactivées. Le site core-Crate reçoit pour cela avec no_fp_fmt_parse une nouvelle fonction pour l’utilisation dans le noyau Linux. Il est évident que l’équipe Rust a encouragé l’intégration de ces changements en amont dans le langage de programmation.

De plus amples détails, notamment sur les abstractions supplémentaires et le support étendu des pilotes, peuvent être trouvés dans le courrier d’Ojeda sur la liste de diffusion du noyau Linux. La page du projet se trouve sur GitHub. On y trouve un lien vers les archives de la liste de diffusion ainsi qu’un mail pour s’y abonner.

Plus d'articles