Pour la première fois Linux accepte un second langage de programmation, le Rust en l'occurrenceComme préannoncé en juin dernier par Linus Torvalds, le père de Linux, lors de la tenue du sommet Open Source de la Linux Foundation, la version 6.1 du noyau Linux, officiellement publiée en disponibilité générale le 11 décembre dernier, est la première à prendre en charge un second langage de programmation après le C, à savoir le langage Rust. Pour les gardiens du temple, Rust est désormais admis pour rejoindre le C en tant que langage destiné à la programmation du noyau avec comme objectif de réduire le nombre de bogues et de failles de sécurité liés aux faiblesses connues du langage C, en particulier pour la gestion mémoire (dépassements de mémoire tampon, allocations non libérées, accès à des zones mémoire invalides…). Ce que le langage Rust permet d’éviter. Pour rappel, Rust - qui se prête à la programmation de bas niveau nécessaire à un système d'exploitation - est un langage initié par les ingénieurs de Mozilla dès 2006, dont la version 1.0 avec un compilateur stable été publiée en 2015. Rust se veut une alternative aux langages de programmation classiques comme le C et le C++ en évitant notamment les problèmes de sécurité mémoire qui affligent ces langages, sans recourir à la complexité de Java (pas de mécanismes de type ramasse-miettes dans Rust). Pour le moment, avec la version 6.1 du noyau Linux, une API Rust est fournie pour le développement de modules séparés pour le noyau Linux ou pour des pilotes Linux. Au-delà, la version 6.1 du noyau inclut d’autres nouveautés dont un mécanisme d’optimisation des récupérations et des performances mémoire (Multi-gen LRU), une meilleure hiérarchisation mémoire, la mise à disposition d’allocateurs de mémoire spécifiques et une fonction de nettoyage de la mémoire du noyau (KMSAN, Kernel Memory Sanitizer). |