IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Rust for Linux est officiellement fusionné,
Le support initial de Rust for Linux fournit l'infrastructure de base et une intégration élémentaire

Le , par Bill Fassinou

5PARTAGES

17  0 
Le code initial de l'infrastructure Rust a été fusionné dans l'arbre Git principal de Linux 6.1 ce lundi par Linus Torvalds. Ce nouveau code initial de 12 500 lignes ne fournit que l'infrastructure de base et une intégration très élémentaire, tandis que les futures demandes d'extraction ajouteront plus d'abstractions de sous-systèmes, divers pilotes écrits en Rust, et plus encore. La construction du noyau Linux avec le support Rust reste facultative. Le projet "Rust for Linux" franchit une nouvelle étape importante, mais certains développeurs semblent toujours sceptiques face à l'introduction du langage Rust dans le noyau Linux.

Dans un message adressé à la communauté du noyau lundi, Torvalds a déclaré : « l'arbre a une base récente, mais est fondamentalement dans linux-next depuis un an et demi. Il a été mis à jour sur la base des retours du Kernel Maintainer's Summit. Miguel est le mainteneur principal, et j'aide quand c'est nécessaire. Notre plan est que l'arbre passe à la pratique standard de non-rebasage une fois que cette série initiale d'infrastructures sera terminée. Le contenu est le minimum absolu pour permettre la construction du code Rust dans le noyau, avec beaucoup plus d'interfaces (et de pilotes - NVMe, 9p, M1 GPU) sur le chemin ».



Pour rappel, le projet "Rust for Linux" vise à introduire un nouveau langage de programmation système dans le noyau. Rust a une propriété clé qui le rend très intéressant à considérer comme le deuxième langage du noyau : il garantit qu'aucun comportement indéfini n'a lieu (tant que le code non sécurisé est sain). Cela inclut l'absence d'erreurs de type use after-free, double frees, data races, etc. Après 31 ans, un deuxième langage sera donc admis pour le développement du noyau. Les débats y relatifs tournent au tour de la possibilité d’une mise au rebut du C au profit du langage Rust.

Petite précision néanmoins : pour le moment, Rust gagne juste une API officielle pour permettre de développer des modules séparés ou pilotes. Torvalds a annoncé que le support initial de Rust for Linux concerne environ 4 domaines, notamment :

  • éléments internes du noyau (expansion kallsyms pour les symboles Rust, format %pA) ;
  • infrastructure Kbuild (règles de construction Rust et scripts de support) ;
  • crates et bindings Rust pour la construction initiale minimale viable ;
  • documentation et échantillons du noyau Rust.


Linus Torvalds fait-il fausse route en ouvrant le développement du noyau Linux au langage Rust ? Les principaux mainteneurs du noyau Linux ont un âge qui commence par le chiffre 5. Certains se rapprochent même de la soixantaine. Du coup, la communauté du célèbre noyau open source commence à penser au changement de générations. Une nouvelle dont la tranche d’âge se situe dans la trentaine gravit les échelons, mais comme Linus lui-même le souligne : « il s'avère qu'il est vraiment difficile de trouver des personnes qui sont des mainteneurs ». Un fait lié à ceci est que le développement du noyau Linux continue de se faire en C et assembleur.

Il semble en effet qu'il s'agit de langages avec lesquels la vieille génération est plus habituée. Ainsi, l'introduction de Rust dans le noyau pourrait être un moyen pour Torvalds et les mainteneurs séniors du noyau d'attirer de jeunes talents - qui sont beaucoup plus à l'aise avec les langages modernes - pour participer au développement de Linux. L'autre chose est que 15,9 % des 2 288 vulnérabilités qui ont affecté le noyau Linux en 20 ans sont liées à des tares que traîne le langage C : 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émoires invalides ou libérées, etc.

Torvalds s’est penché il y a peu sur un potentiel problème de sécurité avec les fonctions primitives d'exécution spéculative de la liste liée du noyau écrit en ANSI C. C’est en corrigeant ce problème qu’il s’est rendu compte qu’en C99 l'itérateur passé aux macros de parcours de liste doit être déclaré dans une portée en dehors de la boucle elle-même. C’est de ce constat que venait sa récente décision de faire passer le noyau Linux au C11 dont la normalisation a été achevée en 2011. C’est le genre de raisons techniques susceptibles de justifier la mise au rebut du langage C au profit du Rust pour le développement du noyau sur le long terme.

La prise en charge de Rust pour le développement du noyau Linux se poursuit et est vue comme une « une étape importante vers la capacité d'écrire les pilotes dans un langage plus sûr ». Le langage Rust, développé par Mozilla Research, est le type de langage de programmation auquel ceux qui écrivent du code pour des systèmes d’entrée/sortie de base (BIOS), des chargeurs d’amorce, des systèmes d’exploitation, etc. portent un intérêt.

Selon certains observateurs avertis, c’est le futur de la programmation système en lieu et place du langage C. En effet, des experts sont d’avis qu’il offre de meilleures garanties de sécurisation des logiciels que le couple C/C++. Par exemple, chez le leader mondial du cloud computing AWS, on précise que choisir Rust pour ses projets de développement, c’est ajouter l’efficacité énergétique et la performance d’exécution du C à l’atout sécurité.

Source : Linus Torvalds

Et vous ?

Que pensez-vous de l'introduction du langage Rust dans le noyau Linux ?

Voir aussi

L'inclusion de Rust for Linux à la version 6.1 du noyau est désormais en cours comme souhaité par Linus Torvalds, et va rendre possible le développement de pilotes dans un autre langage que le C

« Il est vraiment difficile de trouver des mainteneurs » : Linus Torvalds parle de la prochaine génération de responsables, du développement de Linux à l'occasion de la conférence Open Source Summit

Programmation : une étude révèle les langages les plus voraces en énergie. Perl, Python et Ruby en tête, C, Rust et C++, les langages les plus verts

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

Microsoft, Google, AWS, Huawei et Mozilla s'associent pour créer la Fondation Rust, une organisation à but non lucratif chargée de gérer le langage de programmation

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Ti-Slackeux
Membre expérimenté https://www.developpez.com
Le 02/04/2024 à 11:35
je me suis arrêté là :
Faut-il opérer le retrait de termes comme master ou slave au motif de ce qu’ils véhiculent des stéréotypes raciaux ?
"Deux choses sont infinies : l'Univers et la bêtise humaine.
Mais, en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue."
Albert Einstein
18  2 
Avatar de OrthodoxWindows
Membre émérite https://www.developpez.com
Le 02/04/2024 à 12:03
Citation Envoyé par Ti-Slackeux Voir le message
je me suis arrêté là :

"Deux choses sont infinies : l'Univers et la bêtise humaine.
Mais, en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue."
Albert Einstein
Je suis d'accord, ce débat est vraiment con. Mais bon, visiblement certains n'ont pas mieux à faire que perdre du temps au lien de réaliser des vrais corrections dans le code.
Cependant, ce genre de polémique stérile est souvent soutenu pas des grosses entreprises ; peut-être faut-il y voir un intérêt pour détourner l'attention de leur méfaits.
Parfois c'est plus direct, c'est le logiciel libre qui est visé (je pense à la polémique sur Stallman).

C'est comme ceux qui sont contre l'utilisation des termes "liste noir/blanche". Alors que culturellement, associer le noir au "mal" ou a la mort n'a rien de raciste, c'est quelque chose de très ancien qui vient du fait que sans lumière, on ne voit rien (on risque donc sa vie). Je ne serai pas surpris que certains peuples en Afrique fassent la même association.
Comparer ça au racisme c'est à peu près la même logique que de dire qu'utiliser la couleur orange pour indiquer un chantier revient à traiter tous les roux de travailleur du BTP
Surtout qu'en plus, aucun homme n'est vraiment "noir" sur Terre, en réalité, il n'y a que des nuances de brun...
11  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 02/04/2024 à 20:03
Comme si ne plus utiliser les termes maitres/esclaves allait faire disparaitre l'esclavage ou rendre justice aux victimes présentes, passés, ou futurs.

On peut aller très loin dans la connerie :

Nous tous (ou quasiment) travaillant dans l'informatique sommes des prestataires de services.
service désigne l'action de servir, càd être au service, à la disposition de quelqu'un. Du coup faut-il remettre ce terme en question dans ce contexte, surtout que service vient du latin servitium signifiant état d’esclave, cervitude).
10  1 
Avatar de Aspartame
Membre confirmé https://www.developpez.com
Le 02/04/2024 à 13:08
Bonjour

étudiant en master, je m'inquiète sérieusement sur mon diplôme.
12  4 
Avatar de yannoo95170
Membre régulier https://www.developpez.com
Le 17/10/2022 à 23:49
« Oui, la fenêtre de fusion est de deux semaines, mais c'est surtout pour me laisser le temps d'examiner les choses, pas pour "deux semaines pour mettre en place à la hâte une branche que vous enverrez à Linus le vendredi de la deuxième semaine". L'idée de "faire une nuit blanche pour rendre le papier la veille de la réunion" est quelque chose qui aurait dû disparaître après le lycée. Pas pour le développement de noyaux. La règle est que les choses qui me sont envoyées doivent être prêtes *avant* l'ouverture de la fenêtre de fusion, pas pendant la fenêtre de fusions » a déclaré dimanche Torvalds dans son message.

Pourquoi ne pas mettre en place une fenêtre d'une ou 2 semaines de propositions/analyses de branches **AVANT** l'ouverture de la fenêtre de fusion ?
7  0 
Avatar de petitours
Membre chevronné https://www.developpez.com
Le 02/04/2024 à 17:02
Citation Envoyé par shunesburg69 Voir le message
L'esclavage s'est terminé en France en 1848 et aux USA en 1865, je vois personne de vivant concerné par cette histoire d'esclavage. Pour info, la plupart du temps c'est des militants (noir ou blanc) qui non jamais eux de famille dans l'esclavage et qui oublient que des blancs comme moi ont des ancêtres esclaves et qui s'en foutent de ses débats stériles. Ils feraient mieux de s’inquiéter de la discrimination positive (et autre racisme anti-blanc) qui font du racisme en passant faire l'inverse.
Inde, Chine (les Ouïghours ), Pakistan, et bien d'autres pays. L'esclavage existe bien encore aujourd'hui. Mais une fois de plus le problème est l'esclavage, pas le mot qui le désigne très bien et ça n'a rien à faire dans les discussions sur l'intégration de Rust dans Linux.
6  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 16/10/2022 à 8:03
Oui bien sur que un meilleur accès au cœur du noyau va arriver progressivement, mais dire qu'il n'y aurait pas encore assez de Rust dans le noyau pour faire quoi que ce soit d'intéressant, c'est un peu fort. Il y a déjà quelques projets très intéressants construit sur la base actuelle comme un driver pour les GPU Apple et NVMe.
5  0 
Avatar de smarties
Expert confirmé https://www.developpez.com
Le 20/11/2022 à 11:20
Quand on voit les tweets, c'est certain que RUST apporte énormément de fiabilité pour de la programmation système.

Je ne suis pas sur de la pertinence d'un transcompilateur car cela peut produire des choses difficilement compréhensibles.

Les bibliothèques système peuvent aussi être écrites en RUST et utilisées pour tout.

Avoir le C et RUST pour le noyau complexifie probablement mais si on peut avoir des éléments de qualité, performants, stables et sécurisés il faut continuer l'intégration progressive de RUST.
5  0 
Avatar de petitours
Membre chevronné https://www.developpez.com
Le 02/04/2024 à 16:29
Citation Envoyé par Stéphane le calme Voir le message
« Il est clair que certaines personnes sont blessées par ces termes et que leur utilisation suscite chez elles un sentiment de malaise, non pas pour des raisons techniques, mais en raison de leur contexte historique et social », a déclaré Google, en estimant qu'il s'agissait d'arguments suffisants pour les faire disparaître. « Master-slave est une métaphore oppressive qui ne sera et devrait jamais être totalement détachée de notre histoire », souligne un développeur de Microsoft, qui appelle à leur remplacement.
"Maitres" et "esclave" ont un sens très clair, il se trouve que ce sens désigne très bien des choses affreuses qui se sont produites et qui se produisent encore. Le malaise concerne la situation qui est décrite par ces termes parfaitement adaptés, pas par les termes eux même. "Malaise" est bien a l'image de ce débat de vocabulaire stupide ; je doute que les gens concernés par cette horreur soient "blessés" ou "mal à l'aise", ils souffrent sûrement, ils sont en colère peut être mais certainement pas "mal à l'aise" !

Pour revenir au sujet du code, ces gens peuvent aussi sans malaise utiliser ces 2 termes parfaitement adaptés a certains modèles de communication. Et en plus personne ne souffre et personne n'est opprimé dans ces usages informatiques des mots.
J'espère que Linus Torvalds, prompt a envoyer balader les mauvais, remettra rapidement en place ces gens qui veulent se rendre intéressant en massacrant le vocabulaire et donc la fameuse clarté.

"Le Schtroumpf n'a pas besoin de se prendre le Schtroumpf concernant le Schtroumpf pour faire Schtroumpfer le Schtroumpf" Comprend qui peut, mais c'est ça de tuer le vocabulaire.

Pour le reste les questions sont trop dispersées. Il y a des questions super pertinentes sur Rust et Linux suivies de ce sujet inepte de destruction du vocabulaire qui en aucun cas améliorera l'inclusion et la diversité de qui que ce soit.
5  0 
Avatar de pokap
Membre régulier https://www.developpez.com
Le 02/04/2024 à 13:03
Citation Envoyé par Ti-Slackeux Voir le message
je me suis arrêté là :

"Deux choses sont infinies : l'Univers et la bêtise humaine.
Mais, en ce qui concerne l'Univers, je n'en ai pas encore acquis la certitude absolue."
Albert Einstein
“Celui qui ressent sa propre vie et celle des autres comme dénuées de sens est fondamentalement malheureux, puisqu'il n'a aucune raison de vivre.”
Albert Einstein
4  0