Informatique

Rust fait un grand pas en avant en devenant le deuxième

Rust fait un grand pas en avant en devenant le deuxième langage officiel de Linux


Il n’y a pas si longtemps, on se serait moqué de l’idée qu’un autre langage que le C puisse être utilisé dans le noyau Linux. Les choses ont changé. Aujourd’hui, non seulement Rust, le langage système de haut niveau, se rapproche de Linux, mais il est plus proche que jamais avec la prochaine « série de correctifs visant à ajouter le support de Rust en tant que second langage au noyau Linux ».


Le plus grand changement dans ces nouveaux paquets est que le code Rust proposé pour le noyau repose désormais sur le compilateur Rust stable plutôt que sur les compilateurs bêta. À l’avenir, Rust sur Linux migrera chaque fois qu’un nouveau compilateur Rust stable sera publié. Actuellement, il utilise Rust 1.57.0.


Comme l’explique Miguel Ojeda, développeur du noyau Linux et responsable du projet Rust on Linux, « en mettant à jour le compilateur, nous avons pu retirer de la liste quelques fonctionnalités instables que nous utilisions. » Ce qui signifie que Rust on Linux sera plus stable.


Pour l’avenir, Ojeda estime que : « Nous continuerons à mettre à jour jusqu’à ce que nous ne dépendions plus de fonctionnalités instables ; à ce moment-là, nous pourrions commencer à déclarer qu’une version minimale de Rust est supportée comme cela se fait, par exemple, pour GCC et Clang. »


Greg Kroah-Hartman, développeur principal du noyau Linux, m’avait dit qu’il pensait que « les pilotes sont probablement le premier endroit où » Rust apparaîtrait dans Linux car « ils sont les « feuilles finales » de l’arbre des dépendances dans les sources du noyau. Ils dépendent de la fonctionnalité principale du noyau, mais rien ne dépend d’eux ».


Cela se prépare depuis plusieurs années maintenant. Lors de la conférence virtuelle 2020 Linux Plumbers Conference, où les principaux développeurs du noyau Linux discutent de l’avenir de Linux, l’idée d’introduire Rust comme deuxième langage du noyau a été présentée.


Linus Torvalds en est sûr, Linux ne finira pas par être écrit en Rust. Mais ce n’est pas le but. Personne ne va réécrire les 25 millions de lignes de C du noyau Linux en Rust.


Le projet est sous la direction de Josh Triplett, responsable du langage Rust, et de Nick Desaulniers, ingénieur chez Google. Ils ont proposé d’utiliser le langage Rust au niveau du système à l’intérieur du noyau. Pourquoi ? Parce qu’il est beaucoup plus sûr que le langage C, notamment en ce qui concerne la gestion des erreurs de mémoire.


Comme l’a expliqué Ryan Levick, principal défenseur des développeurs clouds chez Microsoft, « Rust est complètement sûr pour la mémoire« . Étant donné qu’environ deux tiers des problèmes de sécurité peuvent être attribués à une mauvaise gestion de la mémoire, il s’agit d’une amélioration majeure. En outre, « Rust prévient ces problèmes généralement sans ajouter de surcharge d’exécution », a déclaré Levick.


Torvalds voit les avantages de ce projet. Bien qu’il encourage une approche lente mais régulière de l’introduction de Rust dans Linux, il a également déclaré que l’utilisation d’interfaces Rust pour les pilotes et d’autres programmes non essentiels du noyau est la suite logique : « Je suis convaincu que cela va arriver. Ce ne sera peut-être pas Rust, mais il arrivera que nous ayons différents langages pour écrire ce genre de choses, et le C ne sera pas le seul. »


Comme l’a déclaré Ojeda à ZDNet cet été, « Le projet n’est pas terminé mais nous sommes prêts à être intégrés si les mainteneurs de haut niveau acceptent les changements actuels et préfèrent que nous travaillions à l’intérieur du noyau. La majeure partie du travail est encore devant nous ».


Pourtant, le travail est bien en cours maintenant. Je m’attends à voir le premier code Rust dans le noyau Linux dans le courant de l’année 2022.


Source : « ZDNet.com »




Source link

Articles similaires

Bouton retour en haut de la page