Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
|
elsenews:spot-2024-01a:rust [25/12/2025/H19:09:07] 216.73.216.167 supprimée |
— (Version actuelle) | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ~~NOTOC~~ | ||
| - | @DATE@ | ||
| - | |||
| - | |||
| - | ---- | ||
| - | ====== « Rust est une solution pour éviter au noyau Linux et aux mainteneurs de plonger dans la stagnation », d' | ||
| - | |||
| - | |||
| - | « Rust est une solution pour éviter au noyau Linux et aux mainteneurs de plonger dans la stagnation », d' | ||
| - | Les principaux mainteneurs du noyau Linux sont des habitués du langage C dont lâge commence par le chiffre 5. Certains se rapprochent même de la soixantaine. Une nouvelle génération de mainteneurs dont la tranche dâge se situe dans la trentaine gravit les échelons et donc la difficulté de trouver des mainteneurs pour le noyau Linux risque daller croissant si son développement se poursuit en langage C. Ce pourrait être un motif de stagnation dans le processus de développement du kernel. Cest lune des raisons de ladoption du Rust comme deuxième langage pour la poursuite de cette activité. En sus, il y a que « Rust est digne d' | ||
| - | En effet, il y a une liste de griefs qui reviennent à lencontre du langage C : les problèmes liés à la gestion de la mémoire dépassements de mémoire tampon, allocations non libérées, accès à des zones mémoire invalides ou libérées, etc. Daprès les chiffres du dictionnaire Common Vulnerabilities and Exposure (CVE), 15,9 % des 2288 vulnérabilités qui ont affecté le noyau Linux en 20 ans sont liées à des dépassements de mémoire tampon. | ||
| - | Cest là quintervient le langage Rust considéré par des acteurs de la filière comme le futur de la programmation système en lieu et place du langage C ou encore comme la meilleure chance de lindustrie informatique pour la mise sur pied dapplications système sécurisées. Chez Amazon par exemple, on est davis que « choisir Rust cest opter pour une meilleure sécurisation des logiciels quavec le C, mais une efficacité énergétique et une performance dexécution que seul le C offre. » | ||
| - | En effet, certains benchmarks suggèrent que les applications Rust sont plus rapides que leurs équivalents en langage C. Et cest justement pour ces atouts que sont la parité en termes de vitesse dexécution en comparaison avec le C, mais surtout pour la sécurisation et la fiabilité que de plus en plus dacteurs de la filière du développement informatique recommandent le Rust plutôt que le C ou le C++. | ||
| - | Ainsi, en adoptant Rust, la communauté autour du noyau Linux entend mettre à profit ces atouts du langage sur le C. Et elle devrait faire dune pierre deux coups étant donné que Rust peut faciliter larrivée de nouveaux contributeurs. Cest en tout cas ce que laisse entrevoir une étude de luniversité de Waterloo. | ||
| - | En effet, Rust est un projet prometteur, mais pas sans complications. Le projet Rust-for-Linux a recruté un ingénieur à temps plein lannée dernière, ainsi quun étudiant développeur. Plusieurs entreprises ont rejoint le projet pour soutenir ce travail. Il y a aussi un travail en cours pour faire fonctionner loutil Coccinelle avec le code Rust. Une priorité actuelle est de trouver plus de relecteurs pour le code qui est soumis. | ||
| - | Sur le plan de la chaîne doutils, le travail sur gccrs, le compilateur Rust basé sur GCC, a considérablement ralenti. Le générateur de code GCC pour rustc progresse mieux ; il peut compiler du code noyau maintenant et a été fusionné dans le compilateur. Ce backend basé sur GCC permettra détendre le support de Rust à des architectures qui ne sont pas supportées par rustc basé sur LLVM. Pendant ce temps, le projet Rust lui-même simplique davantage dans ce travail ; cest une bonne chose, car le noyau a des besoins spécifiques et aura besoin de garanties que les changements de langage ne casseront pas le code du noyau à lavenir. | ||
| - | Au sein du noyau, le travail se poursuit dans un certain nombre de sous-systèmes. Limplémentation Rust du binder dAndroid fonctionne bien et ses performances sont équivalentes à celles de limplémentation C. La quantité de code non sécurisé qui a été nécessaire pour y parvenir était agréablement faible. Les liaisons avec les systèmes de fichiers font lobjet dun travail de Wedson Almeida Filho, qui vise pour linstant un support en lecture seule. Lobjectif est de rendre possible limplémentation dun système de fichiers en Rust 100% sécurisé. | ||
| - | Il y a un nombre croissant de mainteneurs qui sont ouverts à lidée dutiliser Rust. Cependant, ces derniers se heurtent à la non disponibilité dexemples de la façon dont les pilotes peuvent être écrits. Un palliatif serait de permettre la duplication de quelques pilotes uniquement à des fins dusage comme exemples pour les développeurs | ||
| - | Il y a en sus dautres défis ; lintégration des abstractions de la couche bloc a rencontré une certaine résistance. Le mainteneur de la couche virtuelle de systèmes de fichiers souligne quil nétait pas opposé à fusionner ces abstractions, | ||
| - | Dave Airlie, le mainteneur du sous-système DRM (graphique), | ||
| - | Airlie a poursuivi en disant quune grande partie du travail sur Rust est actuellement bloquée dans une sorte de problème de luf et de la poule. Les abstractions ne peuvent pas être fusionnées tant quil ny a pas dutilisateur pour elles, mais le code qui a besoin de ces abstractions est bloqué en attendant que le code soit intégré dans plusieurs sous-systèmes. En conséquence, | ||
| - | Rust : oui, mais... | ||
| - | Greg Kroah-Hartman, | ||
| - | Dave Chinner s' | ||
| - | Ted Ts'o s'est dit préoccupé par le fardeau que l' | ||
| - | Williams a souligné que durant la session précédente, | ||
| - | Linus Torvalds a déclaré qu'il voyait un fossé entre le système de fichiers et les responsables des pilotes. Les développeurs du côté des systèmes de fichiers ont tendance à être plus conservateurs, | ||
| - | Brauner a déclaré que Rust peut aider à résoudre de nombreux problèmes, car le compilateur peut empêcher de nombreux bogues de pénétrer dans le noyau. Mais il s' | ||
| - | Les incertitudes sur le langage | ||
| - | Ts'o a demandé quand la communauté se sentirait suffisamment en confiance pour pouvoir avoir des modules dont la seule implémentation est dans Rust. Binder pourrait être un bon début, a-t-il déclaré, peut-être suivi par un pilote dont l' | ||
| - | Arnd Bergmann a déclaré que ces pilotes pourraient être OK, mais qu'il faudra un peu plus de temps avant que quelque chose comme un pilote de clavier puisse être fusionné ; La chaîne d' | ||
| - | Bergmann a déclaré qu'il n' | ||
| - | Ts'o s'est plaint du fait que le langage n'est toujours pas entièrement stable. Cela pourrait constituer un problème particulier pour la communauté informatique confidentielle ; ils sont préoccupés par la sécurité et, par conséquent, | ||
| - | En conclusion, Torvalds a souligné qu'il y avait eu des problèmes au fil des années avec les changements de GCC qui cassaient le noyau ; la même chose arrivera sûrement avec Rust, mais ce sera finalement la même chose. La séance, bien au fil du temps, a été interrompue à ce stade. Reste à savoir si la communauté du noyau a réellement conclu à son engagement envers Rust ; il y aura presque certainement des Pull Request ajoutant du code Rust important dans un avenir proche. | ||
| - | Source : Video, LWN | ||
| - | Et vous ? | ||
| - | Quels sont les avantages et les inconvénients de Rust par rapport au C pour le code du noyau ? | ||
| - | | ||
| - | Le C a-t-il vraiment besoin dun remplaçant en matière de programmation système ? | ||
| - | Le problème avec le C nest-il pas plutôt le mauvais usage que certains développeurs en font ? | ||
| - | | ||
| - | Voir aussi : | ||
| - | | ||
| - | Linus Torvalds souligne une bonne avancée du langage Rust dans le développement du noyau Linux, et aurait qualifié le C++ de « langage de m... », après le message de Google | ||
| - | | ||
| - | | ||
| - | https:// | ||
you see this when javscript or css is not working correct