3.0 KiB
Rust débarque dans le noyau Linux 6.1
C'est en parcourant le fil de @bortzmeyer que j'ai découvert une nouvelle marquante : depuis la version 6.1, le noyau Linux accepte officiellement du code écrit en Rust. Il s'agit pour l'instant d'une intégration expérimentale, mais l'événement est suffisamment historique pour mériter qu'on s'y attarde.
Pourquoi Rust ?
Le noyau Linux est historiquement écrit en C, un langage puissant mais réputé pour sa permissivité en matière de gestion mémoire — source bien connue de nombreuses failles de sécurité (dépassements de tampon, accès à de la mémoire libérée, etc.). Rust propose une approche radicalement différente : son système de types strict et son modèle de propriété (ownership) permettent de détecter ces erreurs dès la compilation, sans avoir recours à un ramasse-miettes qui serait incompatible avec les contraintes de performance du noyau.
L'objectif de cette intégration est donc clair : améliorer la sécurité et la fiabilité du noyau en tirant parti des garanties offertes par Rust, tout en conservant les performances attendues d'un système d'exploitation.
Un noyau multi-langages
Il est utile de rappeler que Rust n'est pas le premier « invité » dans le noyau. Si le C reste largement majoritaire, on y trouve aussi de l'assembleur pour les parties très bas niveau spécifiques à chaque architecture. Des langages comme Python sont par ailleurs utilisés pour les outils de build, de test et certains scripts auxiliaires, mais pas pour le code du noyau lui-même.
L'arrivée de Rust est donc bien une nouveauté significative : c'est la première fois qu'un second langage généraliste de bas niveau rejoint le C dans le noyau.
Une expérimentation à suivre
Pour l'instant, l'infrastructure Rust intégrée à Linux 6.1 reste minimale : elle pose les fondations (chaîne de compilation, bindings, modules d'exemple) sans encore inclure de pilotes de production. La suite dépendra de l'adhésion des développeurs et de la maturité de l'écosystème — mais l'élan est lancé, et plusieurs projets de pilotes en Rust sont déjà en préparation.
Quand pourrai-je l'essayer ?
Le noyau Linux 6.1 est sorti le 11 décembre 2022, et il s'agit d'une version LTS (Long Term Support), ce qui garantit son maintien sur plusieurs années.
Les distributions Linux n'intègrent pas toutes immédiatement les dernières versions du noyau. Les distributions dites « rolling release » comme Arch Linux ou Gentoo proposent rapidement les versions récentes, tandis que les distributions à publication fixe (Debian stable, Ubuntu LTS, RHEL…) privilégient la stabilité et attendent qu'une version ait été éprouvée avant de l'adopter.
Si vous souhaitez tester le noyau 6.1 et son support Rust naissant, une distribution rolling release reste donc le chemin le plus direct.