Le dernier statut de Rust dans le noyau Linux

Lors de la Linux Plumbers Conference qui s'est tenue récemment, le développeur Linux et Rust Miguel Ojeda a présenté le dernier statut de Rust dans le noyau Linux aux développeurs du noyau Linux. En bref, Rust Linux mûrit et bénéficie du soutien solide de développeurs et de fournisseurs tels que Cisco, Samsung et Canonical.

Actuellement, certaines distributions ont adopté Rust à bras ouverts. Par exemple, Ubuntu fournit déjà « toutes les exigences nécessaires en matière de chaîne d'outils et de noyau pour créer et tester les modules de noyau hors arborescence ».

Trois grandes chaînes d’outils Linux Rust prennent également forme. L'un d'eux est le codegen GCC de rustc. Cette chaîne d'outils peut compiler et démarrer Rust et Linux principaux sans modifier le code source.

L'autre est GCC Front-End for Rust, qui peut être chargé par le front-end rustc existant mais bénéficie de l'optimisation de GCC ; cependant, le projet est encore en phase alpha. Il existe également Coccinelle pour Rust ; Coccinelle est un outil permettant de créer du code source C du noyau Linux à grande échelle, et Coccinelle pour Rust tente d'introduire cette fonctionnalité dans la base de code Rust.

Certains développeurs tentent également d'écrire des pilotes dans Rust. Quant à une partie du travail quotidien requis pour intégrer pleinement Rust à Linux, vous pouvez  trouver plus de détails sur le site officiel de Rust pour Linux .

La branche de code Rust originale, en cours de développement depuis deux ans, a été retirée ; le code est toujours là, mais il a été gelé et archivé. À l’avenir, la branche rust-next contiendra de nouvelles fonctionnalités Rust et sera validée dans la prochaine fenêtre de fusion du noyau Linux. Et cette branche, comme son nom l'indique, fait partie de Linux Next.

La branche Rust-fixes contient des correctifs Rust pour le cycle actuel du noyau Linux. Il existe également une branche expérimentale pour l'intégration, Rust-dev, qui dispose d'une file d'attente de correctifs « assez bonne ».

Certes, le chemin à parcourir ne sera pas facile. Les développeurs de Rust sous Linux ont découvert quelques problèmes en cours de route : par exemple, les blocages lorsque deux ou plusieurs threads attendent la fin d'un autre thread sont sûrs dans Rust car ils n'entraînent pas de comportement indéfini, mais ils ne sont pas sûrs dans le noyau Linux. . Les développeurs travaillent actuellement à la résolution de ce problème.

D’un autre côté, les développeurs s’inquiètent toujours de la manière de gérer la version Rust. Étant donné que la dernière version de Rust Linux est compatible avec certaines fonctionnalités instables, ils ne peuvent pas garantir que les versions plus récentes de Rust fonctionneront sous Linux. Les programmeurs Linux Rust suivent actuellement la dernière version du compilateur Rust.

Un problème connexe est l’intérêt croissant pour le rétroportage du support Rust vers les versions LTS de Linux (en particulier 5.15 et 6.1). Mais Linux ne permet généralement pas de porter Rust sur LTS Linux. Par conséquent, ZDNet souligne que si vous voulez vraiment, vraiment, une prise en charge complète de Rust dans un ancien noyau LTS, vous devrez payer pour cela d'une manière ou d'une autre.

Dans l’ensemble, Rust devient définitivement un langage important pour le développement Linux. Mais il y a sans aucun doute de nombreux défis à relever en cours de route, et même si « l'équipe de base s'est agrandie avec de nouveaux membres », comme l'a noté Ojeda, il reste encore beaucoup de travail à faire pour aller de l'avant.

Guess you like

Origin www.oschina.net/news/266584/rust-in-linux