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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    juin 2016
    Messages
    1 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 1 921
    Points : 41 050
    Points
    41 050
    Par défaut Les derniers correctifs du projet Rust for Linux montrent que le langage Rust avance à grands pas vers Linux
    La prise en charge de Rust pour le développement du noyau Linux commence à prendre forme
    le langage fait un premier pas vers la branche "Linux-Next"

    Rust fait enfin son entrée dans le développement du noyau Linux, après plusieurs années d'analyses et de dialogue sur les avantages. Discuté à nouveau lors de la conférence Linux Plumbers l'année dernière, le tout premier support de Rust est apparu la semaine passée dans la branche Linux-Next. Même si les auteurs de ce travail jugent qu'il ne s'agit pas d'un ajout significatif, cela jette les bases de la construction des fonctionnalités du noyau Rust pour l'avenir. Ce support est conditionné par la présence d'un compilateur Rust (rustc) sur le système. De ce fait, les architectures actuellement visées sont ARM64 et x86_64.

    Les développeurs de Linux discutent depuis un moment de la perspective de permettre l'utilisation du langage développé par Mozilla Research pour écrire de nouveaux pilotes de périphériques pour le noyau. L'année dernière, les développeurs du noyau Linux semblent s'être mis d'accord sur le sujet. Pour mémoire, Rust est plébiscité, car il offre plusieurs avantages, notamment en ce qui concerne la mémoire. Les partisans de Rust ont cité des travaux qui montrent qu'environ deux tiers des vulnérabilités du noyau auxquelles ont été attribués des CVE sur Android et Ubuntu sont tous liés à des problèmes de sécurité de la mémoire.

    Nom : s_20200829_100658.jpg
Affichages : 12946
Taille : 48,4 Ko

    Par exemple, d’aprè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 la mémoire tampon. C’est un défi à relever pour le futur en matière de programmation système. En outre, les géants de l'industrie, d'Apple à Amazon en passant par Facebook et Microsoft, se sont lancés ces dernières années dans le recrutement de développeurs Rust. D'ailleurs, selon la firme de Redmond, Rust est la meilleure chance de l’industrie informatique pour la mise sur pied d’applications système sécurisées.

    Selon les partisans de Rust, il peut permettre d'éviter complètement cette classe d'erreurs à l'avenir grâce à des API plus sûres activées par son type de système et son vérificateur d'emprunt. D'autres avantages ont aussi été cités par ces derniers pour justifier la proposition de continuer le développement du noyau avec Rust. Comme premier pas vers ce rêve, le support initial de Rust a été annoncé jeudi sur rust-for-linux dans Linux-Next. « Cela ne signifie pas que nous allons le faire dans la version principale, bien sûr, mais c'est une bonne étape pour rendre les choses aussi faciles que possible », a prévenu Miguel Ojeda, qui est impliqué dans cet effort.

    « C'est, malgré tout, une étape importante vers la capacité d'écrire les pilotes dans un langage plus sûr », a-t-il ajouté. Notons que la branche Linux-Next est la zone d'attente pour les correctifs destinés à la prochaine fenêtre de fusion du noyau. Ainsi, si vous faites du développement de noyau de pointe, vous voudrez peut-être travailler à partir de cet arbre plutôt que de la branche principale de Linus Torvalds. Selon les explications d'Ojeda, ce support nécessite la présence d'un compilateur Rust (rustc) sur le système. Ainsi, les architectures actuellement visées sont ARM64 et x86_64.

    Actuellement, le support du noyau a besoin d'une chaîne d'outils Rust nightly récente pour la construction. En outre, bien qu'aucun pilote de noyau Rust ne soit encore prêt, la fusion initiale vers Linux-Next inclut un exemple de module de noyau écrit en Rust. Par ailleurs, alors que Rust est maintenant dans Linux-Next, il n'est pas encore clair si/quand il sera intégré à la branche principale. En général, le travail dans Linux-Next est peaufiné jusqu'au prochain cycle, mais il peut parfois rester dans Linux-Next plus longtemps s'il s'agit d'un travail en cours. Le code doit encore passer par toutes les formalités de demande d'extraction de la fenêtre de fusion.

    Quoi qu'il en soit, l'effort progresse et il pourrait être intéressant de voir si cette infrastructure Rust initiale pour le noyau Linux parvient à être intégrée à la version 5.13 ou à une autre version du noyau cette année. Enfin, comme souligné plus haut, une partie de l'attrait pour Rust vient des caractéristiques de sécurité de la mémoire de Rust, en particulier par rapport au C, dans lequel le noyau Linux est actuellement codé. Une partie du problème, cependant, est que Rust est compilé sur la base de LLVM, par opposition à GCC, et supporte donc moins d'architectures.

    C'est un problème auquel la communauté a assisté récemment lorsque la bibliothèque de chiffrement Python a remplacé une partie de l'ancien code C par Rust. En effet, cela a conduit à une situation où certaines architectures ne seront pas prises en charge. Actuellement, la proposition d'inclure Rust dans le noyau Linux limite ce problème en disant que Rust serait utilisé, au moins initialement, pour écrire des pilotes qui « ne seraient de toute façon jamais utilisés sur les architectures les plus obscures ».

    Certaines entreprises n'ont toutefois pas attendu que l'équipe de développement du noyau Linux donne son aval pour la prise en charge de Rust, avant de commencer leurs propres efforts. Si vous cherchez un exemple de l'utilisation et de l'utilité de Rust dans le développement du noyau Linux, vous pouvez consulter les travaux d'Amazon Web Services avec Bottlerocket, une distribution Linux pour les conteneurs qui est largement écrite en Rust.

    Sources : rust-for-linux, AWS Bottlerocket

    Et vous ?

    Quel est votre avis sur le sujet ?

    Voir aussi

    Les développeurs semblent d'accord à l'unanimité pour la prise en charge de Rust pour le développement du noyau Linux lors de la conférence Linux Plumbers

    L'année 2020 est-elle celle de Rust au sein du noyau Linux ? C'est ce que suggère une sortie de Linus Torvalds, qui donne des instructions sur l'introduction de son support au système de build

    « 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

    Rust : les développeurs révèlent pourquoi ils ne sont pas plus nombreux à utiliser le langage de programmation, en pointant du doigt un manque d'adoption en entreprise, d'après un sondage
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2021
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mars 2021
    Messages : 54
    Points : 0
    Points
    0
    Par défaut
    C'est un faux problème, cette histoire de Rust dans le kernel. En quoi ça va aider pour avoir un meilleur Linux ? Rust ou pas, on aura toujours des drivers graphiques en carton-pâte qui ne supporte pas la v-sync en 2021, 3/4 des imprimantes qui ne seront pas compatible Linux et le reste. Après, c'est chouette de pouvoir faire un driver de Voodoo FX en Rust mais ça va servir à qui ?

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    4 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 4 265
    Points : 13 136
    Points
    13 136
    Par défaut
    Personne n'a dit que Rust était de la poudre magique qui résout tous les problèmes possibles et imaginables. Rust est juste un langage moderne qui permet le genre de chose permises par le C++ avec de bien meilleures garanties de sécurité, ni plus ni moins.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    août 2003
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2003
    Messages : 518
    Points : 969
    Points
    969
    Par défaut
    Citation Envoyé par MetalFlower Voir le message
    ..., on aura toujours des drivers graphiques en carton-pâte qui ne supporte pas la v-sync en 2021, 3/4 des imprimantes qui ne seront pas compatible Linux et le reste. Après, c'est chouette de pouvoir faire un driver de Voodoo FX en Rust mais ça va servir à qui ?
    C'est pas la faute des développeurs du noyau forcément, c'est de la faut des constructeurs qui ne publient pas/ne maintienne pas leurs drivers ou ne fournissent pas une documentation pour le programmer. Le développeur du noyau n'a pas tous les matériels sous la main pour les réaliser lui même.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par MetalFlower Voir le message
    C'est un faux problème, cette histoire de Rust dans le kernel. En quoi ça va aider pour avoir un meilleur Linux ? Rust ou pas, on aura toujours des drivers graphiques en carton-pâte qui ne supporte pas la v-sync en 2021, 3/4 des imprimantes qui ne seront pas compatible Linux et le reste. Après, c'est chouette de pouvoir faire un driver de Voodoo FX en Rust mais ça va servir à qui ?
    Pas mal... mais on t'a reconnu, Fleur en plastique.

  6. #6
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    4 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 4 265
    Points : 13 136
    Points
    13 136
    Par défaut
    Linus Torvald a répondu à des journalistes sur le sujet : https://www.zdnet.com/article/linus-...it-into-linux/.

    Il confirme qu'il n'a pas l'intention d'intégrer du Rust au noyau pour le moment. C'est avant tout une expérience pour confirmer si Rust tient ses promesses. Il n'exclut rien pour l'avenir, mais on en est encore loin.

    Il ne s'engage pas personnellement sur le sujet, mais il laisse la possibilité à ceux que ça intéresse de travailler là dessus.

  7. #7
    Chroniqueur Actualités
    Avatar de Bruno
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    mai 2019
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mai 2019
    Messages : 360
    Points : 5 343
    Points
    5 343
    Par défaut La prise en charge de Rust pour le développement du noyau Linux fait l'objet d'une nouvelle discussion
    La prise en charge de Rust pour le développement du noyau Linux fait l'objet d'une nouvelle série de discussions,
    après une proposition de RFC

    Le mois dernier, le tout premier support permettant l'utilisation du langage de programmation Rust dans le noyau Linux est apparu dans l'arbre Linux-Next pour des tests plus étendus avant son inclusion éventuelle dans le noyau principal. Aujourd'hui, une "demande de commentaires" a été relancée sur la liste de diffusion du noyau autour des perspectives du code Rust pour le noyau Linux. Miguel Ojeda, développeur du noyau Linux, a lancé une proposition de RFC (Request For Comments) sur la liste de diffusion du noyau Linux.

    Miguel Ojeda, développeur du noyau, a lancé une proposition de RFC sur la liste de diffusion du noyau Linux. Le message de la liste de diffusion décrit les convictions des développeurs impliqués dans l'ajout du code Rust au noyau, les avantages tels que l'amélioration de la sécurité de la mémoire, et plus encore. « Certains d'entre vous ont remarqué ces dernières semaines et ces derniers mois qu'une tentative sérieuse d'apporter un second langage au noyau était en train de se forger. Nous y sommes enfin, avec une RFC qui ajoute le support pour Rust au noyau Linux », a déclaré Miguel Ojeja. « Nous savons qu'il y a des coûts et des risques énormes à introduire un nouveau langage dans le noyau », a-t-il ajouté.

    Nom : LRB.png
Affichages : 14966
Taille : 32,1 Ko

    Rappelons que les RFC sont un ensemble de documents qui font référence auprès de la communauté Internet et qui décrivent, spécifient, aident à l'implémentation, standardisent et débattent de la majorité des normes, standards des technologies et protocoles liés à Internet et aux réseaux en général. Chacun de ces documents représente une proposition de spécification qui peut à tout moment être rendue obsolète par un nouveau document RFC. Ainsi, les RFC sont des fichiers textes dont le nom est rfcxxxx.txt dont xxxx est un nombre incrémenté pour chaque nouveau RFC.

    Les développeurs de Linux discutent depuis un moment de la perspective de permettre l'utilisation du langage développé par Mozilla Research pour écrire de nouveaux pilotes de périphériques pour le noyau. L'année dernière, les développeurs du noyau Linux semblent s'être mis d'accord sur le sujet. Pour mémoire, Rust est plébiscité, car il offre plusieurs avantages, notamment en ce qui concerne la mémoire. Les partisans de Rust ont cité des travaux qui montrent qu'environ deux tiers des vulnérabilités du noyau auxquelles ont été attribués des CVE sur Android et Ubuntu sont tous liés à des problèmes de sécurité de la mémoire.

    Notons que Rust est un langage de programmation compilé multiparadigme, conçu par Graydon Hore alors employé chez Mozilla Research. Utilisé par plusieurs grandes entreprises et par de nombreux développeurs dans le monde, Rust est devenu le langage de base pour certaines des fonctionnalités fondamentales du navigateur Firefox et de son moteur Gecko, ainsi que pour le moteur Servo de Mozilla.

    Avec Rust, il est possible de développer des pilotes de périphériques, des systèmes embarqués, des systèmes d'exploitation, des jeux, des applications web, et bien d'autres choses encore. Des centaines d'entreprises dans le monde entier utilisent Rust en production pour des solutions multiplateformes et économes en ressources. Des logiciels connus et appréciés, comme Firefox, Dropbox, et Cloudflare, utilisent ce langage. De la startup à la multinationale, du système embarqué au service web à haute disponibilité, Rust serait une excellente solution.

    Selon Miguel Ojeda, développeur du noyau Linux, les avantages de l’introduction du langage Rust dans le noyau Linux l'emportent sur les coûts. Pour le développeur, en utilisant Rust dans le noyau Linux, le nouveau code écrit en Rust a un risque réduit de bogues de sécurité mémoire, grâce aux propriétés du langage Rust. Le langage Rust serait plébiscité pour sa sécurité.

    Google a récemment déclaré que : « les défauts de sécurité de la mémoire menacent fréquemment la sécurité des appareils, en particulier pour les applications et les systèmes d'exploitation. Par exemple, sur le système d'exploitation mobile Android, Google dit avoir constaté que plus de la moitié des vulnérabilités de sécurité traitées en 2019 résultaient de bogues de sécurité de la mémoire. Et ce, malgré les efforts considérables déployés par l'entreprise et d'autres contributeurs au projet Open Source Android, pour investir ou inventer diverses technologies, notamment l'AddressSanitizer, des allocateurs de mémoire améliorés et de nombreux fuzzers et autres outils de vérification du code ».

    Le langage de programmation Rust se popularise davantage, une popularité grandement alimentée par les grandes entreprises technologiques et les solutions utilisées à grande échelle. En début de ce mois, Google a révélé sur le référentiel Git comportant les codes sources de la plateforme Android, que la nouvelle version de Gabeldorsche, la pile Bluetooth utilisée dans Android depuis la version 11, a été réécrite avec Rust.

    Google a également annoncé la semaine dernière que l'Android Open Source Project (AOSP) prendra désormais en charge le langage Rust pour le développement de son système d’exploitation mobile. « Outre les langages à mémoire sécurisée comme Kotlin et Java, nous sommes heureux d'annoncer que le projet Android Open Source prend désormais en charge le langage de programmation Rust pour le développement du système d'exploitation Android », a déclaré Google sur son blog. Cette annonce s'inscrit dans le cadre des efforts déployés par l'entreprise pour résoudre les problèmes de sécurité de la mémoire dans le système d'exploitation. Voici, ci-dessous quelques raisons évoquées par Miguel Ojeja pour l’utilisation de Rust dans le noyau Linux :

    • plus de personnes s'impliquent dans le développement du noyau grâce à l'utilisation d'un langage moderne ;
    • en tirant parti des outils de Rust, il est possible d’appliquer les directives de documentation qui ont été établies jusqu'à présent dans le cadre du projet Rust ;
    • les développeurs sont plus confiants dans le remaniement et l'acceptation des correctifs pour les modules grâce à la sécurité du langage, les correctifs pour les modules grâce au sous-ensemble sûr de Rust ;
    • les nouveaux pilotes et modules deviendront plus faciles à écrire, grâce à des abstractions plus faciles à concevoir, basées sur les caractéristiques du langage modernes, ainsi qu'à une documentation détaillée.

    Selon les partisans de l’ajout du langage Rust comme second langage (à côté du langage C) pour l’écriture du noyau Linux, Rust est un langage de programmation système qui apporte plusieurs avantages clés par rapport au C dans le contexte de ce projet :

    • bibliothèque standard étendue et indépendante ;
    • une distinction claire entre le code fiable et le code "non fiable" ;
    • un système de types plus strict pour réduire davantage les erreurs de logique ;
    • outils intégrés prêts à l'emploi : générateur de documentation, tous basés sur le compilateur ;
    • pas de comportement non défini dans le sous-ensemble fiable, y compris la sécurité de la mémoire et l'absence de courses de données ;
    • un langage riche en fonctionnalités : types de somme, filtrage, génériques, durées de vie, références partagées et exclusives, modules et visibilité.

    Dans l'ensemble, Rust est un langage qui a su tirer parti de décennies d'expérience des langages de programmation système et des langages fonctionnels. Cependant, Miguel Ojeja reconnaît également les raisons de s'y opposer, comme les temps de compilation plus lents, le manque de standardisation de certains aspects, l'infrastructure existante du noyau Linux qui est axée sur le C, et la dépendance au projet LLVM (est une collection de technologies de compilateurs et de chaînes d'outils modulaires et réutilisables) pour la compilation du code Rust.

    En début d’année, AWS, Huawei, Google, Microsoft et Mozilla se sont associées pour lancer la fondation Rust et se sont engagées à lui consacrer un budget d'un million de dollars pour deux ans. Ce budget permettra au projet de développer des services, des programmes et des événements qui aideront les responsables du projet Rust à développer le meilleur Rust possible.

    Pour Ashley Williams, Directeur exécutif par intérim de la fondation, Rust est un langage qui donne du pouvoir à tout le monde, mais surtout aux gens qui pensent que la programmation système n'est pas pour eux. « L'une des forces motrices les plus puissantes du projet Rust est la croyance simultanée dans le pouvoir de la programmation système et l'engagement à faire en sorte que ce pouvoir soit utilisable par tous », a-t-il déclaré lors de son discours d’ouverture de la RustConf 2020.

    Selon Shane Miller, responsable de l'équipe Rust chez AWS et également professeur d'université, la raison pour laquelle les ingénieurs choisissent Rust pour créer des services est que cela leur permet d'offrir aux clients des expériences qui répondent à leurs exigences de qualité et de sécurité beaucoup plus rapidement et à moindre coût.

    Pour certains analystes, étant donné le timing de ce RFC et le fait que la fusion du noyau Linux va probablement démarrer la semaine prochaine (ou être retardée jusqu'à la semaine suivante si la version 5.12-rc8 est justifiée), il est probable que cette prise en charge du noyau ne soit pas possible pour Linux 5.13. Peut-être avec Linux 5.14 ou une autre version du noyau plus tard dans l'année.

    Source : Liste de diffusion

    Et vous ?

    Que pensez-vous du langage Rust ?

    Quelle est votre préférence entre les langages Rust et C ?

    Quel est votre avis sur le sujet ?

    Voir aussi :

    La prise en charge de Rust pour le développement du noyau Linux commence à prendre forme, le langage fait un premier pas vers la branche "Linux-Next"

    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

    Google annonce la prise en charge du langage Rust pour le développement d'Android, l'intérêt est de résoudre les problèmes de sécurité de la mémoire

    La nouvelle réécriture de la pile Bluetooth d'Android est faite avec le langage Rust, Google devrait annoncer plus d'informations sur le code dans les prochaines semaines
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  8. #8
    Chroniqueur Actualités
    Avatar de Bruno
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    mai 2019
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mai 2019
    Messages : 360
    Points : 5 343
    Points
    5 343
    Par défaut Linus Torvalds souligne une bonne avancée du langage Rust dans le développement du noyau Linux
    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

    Dans un post publié sur son blog le 14 avril, l’équipe de développement de Google a annoncé qu’elle participe à l'évaluation du langage Rust pour le développement du noyau Linux. Suite à cette déclaration, Linus Torvalds, ingénieur logiciel, créateur principal et développeur du noyau Linux, a déclaré lors d’une interview que des discussions sur le sujet seraient beaucoup plus importantes qu'un long post de Google sur le langage. Interrogé sur la suggestion d'un internaute qui a indiqué que, « la solution ici est simple : il suffit d'utiliser C++ au lieu de Rust », Linus Torvalds n'a pas pu se retenir et aurait même traité le C++ de « langage de m... ».

    Rappelons que le mois dernier, le tout premier support permettant l'utilisation du langage de programmation Rust dans le noyau Linux est apparu dans l'arbre Linux-Next pour des tests plus étendus avant son inclusion éventuelle dans le noyau principal. Juste derrière, une "demande de commentaires" a été relancée sur la liste de diffusion du noyau autour des perspectives du code Rust pour le noyau Linux. Miguel Ojeda, développeur du noyau Linux, a lancé une proposition de RFC (Request For Comments) sur la liste de diffusion du noyau Linux.

    Miguel Ojeda, développeur du noyau, a lancé une proposition de RFC sur la liste de diffusion du noyau Linux. Le message de la liste de diffusion décrit les convictions des développeurs impliqués dans l'ajout du code Rust au noyau, les avantages tels que l'amélioration de la sécurité de la mémoire, et plus encore. « Certains d'entre vous ont remarqué ces dernières semaines et ces derniers mois qu'une tentative sérieuse d'apporter un second langage au noyau était en train de se forger. Nous y sommes enfin, avec une RFC qui ajoute le support pour Rust au noyau Linux », a déclaré Miguel Ojeja. « Nous savons qu'il y a des coûts et des risques énormes à introduire un nouveau langage dans le noyau », a-t-il ajouté.

    Nom : Rust2B.png
Affichages : 128176
Taille : 20,2 Ko

    L'équipe Android de Google soutient Rust pour le développement du système d'exploitation Android. L’entreprise a annoncé le 6 avril que l'Android Open Source Project (AOSP) prendra désormais en charge le langage Rust pour le développement de son système d’exploitation mobile. « Outre les langages à mémoire sécurisée comme Kotlin et Java, nous sommes heureux d'annoncer que le projet Android Open Source prend désormais en charge le langage de programmation Rust pour le développement du système d'exploitation Android », a déclaré Google sur son blog. Cette annonce s'inscrit dans le cadre des efforts déployés par l'entreprise pour résoudre les problèmes de sécurité de la mémoire dans le système d'exploitation.

    Selon Google, les défauts de sécurité de la mémoire menacent fréquemment la sécurité des appareils, en particulier pour les applications et les systèmes d'exploitation. Par exemple, sur le système d'exploitation mobile Android, Google dit avoir constaté que plus de la moitié des vulnérabilités de sécurité traitées en 2019 résultaient de bogues de sécurité de la mémoire. Et ce, malgré les efforts considérables déployés par l'entreprise et d'autres contributeurs au projet Open Source Android, pour investir ou inventer diverses technologies, notamment l'AddressSanitizer, des allocateurs de mémoire améliorés et de nombreux fuzzers et autres outils de vérification du code.

    « Dans notre précédent article, nous avons annoncé qu'Android prend désormais en charge le langage de programmation Rust pour le développement notre système d'exploitation mobile. Dans le même ordre d'idées, nous participons également à l'effort d'évaluation de l'utilisation de Rust comme langage supporté pour le développement du noyau Linux », a déclaré Google dans un nouveau message posté le 14 avril sur son blog.

    « Le C a été le langage de choix pour l'écriture des noyaux pendant près d'un demi-siècle, car il offre le niveau de contrôle et de performance requis par un composant aussi critique. La densité des bogues de sécurité mémoire dans le noyau Linux est généralement assez faible en raison de la qualité élevée du code, des normes élevées de révision du code et des mesures de protection soigneusement mises en œuvre. Toutefois, des bogues de sécurité de la mémoire se produisent encore régulièrement. Sur Android, les vulnérabilités dans le noyau sont généralement considérées comme étant de haute gravité, car elles peuvent entraîner un contournement du modèle de sécurité en raison du mode privilégié dans lequel le noyau fonctionne », a ajouté Google

    Nombre de backports dans les branches stables

    Nom : R1.PNG
Affichages : 12976
Taille : 12,4 Ko

    Google, AWS, Huawei, Microsoft et Mozilla se sont associées pour lancer la fondation Rust et se sont engagées à lui consacrer un budget de deux ans à hauteur d'un million de dollars. Ce budget permettra au projet de développer des services, des programmes et des événements qui aideront les responsables du projet Rust à développer le meilleur Rust possible. L'annonce avait été faite par Ashley Williams, Directeur exécutif par intérim de la fondation, le 8 février sur le site Internet de l'organisation. « Aujourd'hui, au nom de l'équipe de Rust, je suis heureux d'annoncer la création de la Fondation Rust, une nouvelle organisation indépendante à but non lucratif chargée de gérer le langage de programmation et l'écosystème Rust, en mettant l'accent sur le soutien de l'ensemble des responsables qui régissent et développent le projet ».

    Dans une annonce faite sur son blog également le 8 février, Google a dit être ravie d’avoir rejoint la fondation Rust et se dispose pour travailler sur des questions comme l'interopérabilité avec C++. « S'appuyant sur les investissements de longue date de Google dans le C/C++ et les compilateurs et chaînes d'outils, nous sommes ravis d'annoncer notre adhésion à la fondation Rust », a annoncé Google sur son blog. « Nous sommes impatients de participer davantage à la communauté Rust, en particulier de travailler dans l'ensemble sur des questions importantes, notamment l'interopérabilité avec C++, la coordination des examens de sécurité, la réduction des coûts des mises à jour et de continuer à accroître nos investissements dans les projets Rust existants », a ajouté l'entreprise.

    Selon Google, le langage Rust est maintenant prêt à rejoindre le C comme langage pratique pour l'implémentation du noyau. Il pourra aider à réduire le nombre de bogues potentiels et de vulnérabilités de sécurité dans le code tout en préservant ses caractéristiques de performance. L’équipe de développement de Google a travaillé sur un prototype initial du pilote Binder pour permettre de faire des comparaisons significatives entre les caractéristiques de sécurité et de performance de la version C existante et de son homologue Rust. Elle a rejoint l'organisation Rust for Linux, où la communauté avait déjà fait et continue de faire un excellent travail pour ajouter le support Rust au système de construction du noyau Linux.

    Google pense que la conception doit tenir compte du langage C et permettent au code des deux langages d'interagir l'un avec l'autre : « nous sommes particulièrement intéressés par les abstractions sûres, à coût nul, qui permettent au code Rust d'utiliser les fonctionnalités du noyau écrites en C, et par la manière d'implémenter des fonctionnalités en Rust idiomatique qui peuvent être appelées de manière transparente depuis les parties C du noyau ».

    Comme Rust est un nouveau langage pour le noyau, il est également possible d'appliquer les meilleures pratiques en termes de documentation et d'uniformité. Par exemple, le développeur doit documenter les exigences qui doivent être satisfaites par les appelants pour garantir que son utilisation est fiable ; en outre, pour chaque appel à des fonctions non sécurisées (ou l'utilisation de constructions non sécurisées comme le déréférencement d'un pointeur brut), le développeur doit documenter la justification de la sécurité de cette utilisation.

    Linus Torvalds aurait indiqué lors d’une interview que le fait de discuter sur le projet serait beaucoup plus important qu'un long post de Google sur le langage. Il aurait également déclaré en réponse à des questions lors de cette interview que la prise en charge de Rust n'était « pas encore effective », ajoutant qu’il y avait une bonne avancée à ce sujet « au point où peut-être elle pourrait être possible avec la version 5.14 ».

    Interrogé sur la suggestion d'un internaute avisé, qui a déclaré lors d'une discussion sur le post Google, « La solution ici est simple : il suffit d'utiliser C++ au lieu de Rust », Torvalds n'a pas pu se retenir « Le C++ fait qu'empirer les difficultés. C'est vraiment un langage de merde ». « Pour les personnes qui n'aiment pas le C, optez pour un langage qui vous offre réellement quelque chose de valable. Par exemple, les langages avec sécurité de la mémoire, qui peuvent éviter certains des dangers du C, ou les langages qui facilitent la gestion de la mémoire. Toute personne qui dit réécrire le noyau en C++ est trop ignorante », ajoute Torvalds.

    Rappelons qu'il y a quelques années, en réponse à un contributeur qui s'interrogeait sur les raisons qui ont conduit au choix du C (plutôt que du C++) pour le système de gestion de version Git, Torvalds s'en est donné à cœur joie pour avouer son désamour au C++ qu'il avait alors qualifié d’« horrible langage ». Notons que Linus Torvalds est tout aussi connu parmi les développeurs pour avoir initié le projet du système de gestion de version Git. « C++ est un langage horrible. Ce qui le rend d'autant plus horrible est le fait que beaucoup de programmeurs "non standard'' l'utilisent, au point qu'il est nettement plus facile de générer de la merde totale et absolue avec », avait-il déclaré.

    Source : Google

    Et vous ?

    La déclaration de Linus Torvalds au sujet du langage C++, ne serait-elle pas un peu exagérée ?

    Quelle est votre préférence entre les langages C++, C et Rust ?

    Quels commentaires faites-vous de la possible prise en charge du langage de programmation Rust dans le noyau Linux ?

    Voir aussi :

    Par défaut Linus Torvalds : "C++ est un langage horrible", en justifiant le choix du langage C pour Git

    La prise en charge de Rust pour le développement du noyau Linux fait l'objet d'une nouvelle série de discussions, après une proposition de RFC

    Google annonce la prise en charge du langage Rust pour le développement d'Android, l'intérêt est de résoudre les problèmes de sécurité de la mémoire

    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

    La nouvelle réécriture de la pile Bluetooth d'Android est faite avec le langage Rust, Google devrait annoncer plus d'informations sur le code dans les prochaines semaines
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  9. #9
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    4 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 4 265
    Points : 13 136
    Points
    13 136
    Par défaut
    Citation Envoyé par Bruno Voir le message
    La déclaration de Linus Torvalds ne serait pas un exagéré au sujet du langage C++ ?
    Elle manque de nuance, mais en même temps c'est une réponse à une déclaration qui en manquait tout autant, et Linus Torvalds n'est pas connu pour être un fin diplomate.
    Le C++ a son intérêt, mais le but premier de l'intégration de Rust étant de fournir une meilleure sécurité, le C++ est clairement en dessous sur le sujet.

  10. #10
    Membre à l'essai
    Inscrit en
    août 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : août 2005
    Messages : 14
    Points : 23
    Points
    23
    Par défaut Il a pas tord
    Faut reconnaître que C++ est vraiment casse gueule pour des systèmes critiques.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Uther Voir le message
    Elle manque de nuance, mais en même temps c'est une réponse à une déclaration qui en manquait tout autant
    Sauf que c'etait la déclaration "d'un internaute". Je ne crois pas que quelqu'un du board C++ dise publiquement que Linux est un noyau de merde. C'est même un comble en fait car Linux est assez critiqué dans le domaine des OS pour ses concessions pratiques, tout comme C++ dans le domaine des langages pour cette même raison...

  12. #12
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    mai 2007
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2007
    Messages : 939
    Points : 1 813
    Points
    1 813
    Par défaut
    Je trouve cela bien qu'ils essaient de pousser Rust.

    Oui C++ n'apporte rien de plus que le C pour le développement OS. Rust répond aux problèmes spécifiques au développement d'un noyau qu'il soit Linux ou Windows.
    mais pour "C++ est un langage de merde", ça montre juste que Torvalds a une position critique et clairement il ne sait pas peser ces mots ( et pour moi, en fait un type patibulaire a qui je ne fais pas confiance même point de vue technique ) et que tout ce qu'il dit est a prendre prendre avec des pincettes.
    Est-ce que son avis est la vérité absolue? Je ne crois pas en une personne ayant la réponse unique au problème de l'univers.

    J'aime Rust et j'aime C++, le deux ont leur forces et leurs faiblesses, mais clairement dire que C++ c'est de la merde c'est du niveau court d'école.
    Homer J. Simpson


  13. #13
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    janvier 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2021
    Messages : 6
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Pogzy Voir le message
    Faut reconnaître que C++ est vraiment casse gueule pour des systèmes critiques.
    C++ a été pendant longtemps le langage de programmation bien aimé des développeurs de jeux vidéo et bien plus. Encore aujourd'hui, C++ est utilisé dans de nombreux projets par des géants comme Google.

    Doit on traiter le C++ de casse gueule ?
    Pire encore, de langage de merde ?

  14. #14
    Membre confirmé

    Inscrit en
    décembre 2009
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : décembre 2009
    Messages : 162
    Points : 478
    Points
    478
    Par défaut
    Je ne connais pas bien le langage Rust.
    Est-ce que quelqu'un pourrait m'éclairer sur les choses qu'on peut faire en Rust et pas en C++ (et pas les choses possibles en C++ mais interdite en Rust hein )

  15. #15
    Membre expérimenté
    Profil pro
    retraité
    Inscrit en
    décembre 2010
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : décembre 2010
    Messages : 530
    Points : 1 340
    Points
    1 340
    Par défaut
    Je ne connais pas bien le langage Rust.
    Est-ce que quelqu'un pourrait m'éclairer sur les choses qu'on peut faire en Rust et pas en C++ (et pas les choses possibles en C++ mais interdite en Rust hein )
    J'avais regardé un peu Rust, et il permet de faire en sorte qu'un objet soit propriétaire d'une zone mémoire, que personne ne peut prendre (même par erreur). On peut aussi changer le propriétaire de la mémoire avec une grande sécurité. Certes on le fait aussi en C++, mais on peut toujours donner un pointeur vers une zone mémoire. Là le verrouillage est plus fort.

  16. #16
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    mai 2007
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2007
    Messages : 939
    Points : 1 813
    Points
    1 813
    Par défaut
    Citation Envoyé par kmedghaith Voir le message
    Je ne connais pas bien le langage Rust.
    Est-ce que quelqu'un pourrait m'éclairer sur les choses qu'on peut faire en Rust et pas en C++ (et pas les choses possibles en C++ mais interdite en Rust hein )
    Je dirais qu'il n'y a rien d'interdit en Rust ou en C++.
    Rust a clairement des atouts côté analyse statique de code et outils ( ownership, lifetime, module, cargo, rustc... )
    Mais C++ a un nombre de libraires (opensource ou pas) hallucinante et Rust mettra des années à rattraper ça. Quasiment TOUT les logiciels ont des API soit C ou C++. Alors oui on peut binder mais C++ le fait en toute transparence comme si c'était le même langage.
    Ensuite C++ a les templates et Rust est très loin de pouvoir faire autant de chose que C++ à la compilation. Il vient tout juste d'avoir des const generics en "minimal viable product".
    C++ évolue aussi, plus lentement car c'est une TRÈS grosse machine implanté partout dans le monde et ils ont le problème de la rétrocompatibilité, mais ça fait son chemin, C++ 20 apporte les modules, les concepts,...

    Personnellement j’attends quelque chose qui est loin d'être accepté encore c'est la "Uniform Function Call Syntax" qui permet a terme de faire comme les traits Rust... mais c'est pas gagné avec les boomers du C++ qui n'ont pas compris qu'il n’était pas QUE objet
    Homer J. Simpson


  17. #17
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    4 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 4 265
    Points : 13 136
    Points
    13 136
    Par défaut
    Citation Envoyé par Maltide Voir le message
    C++ a été pendant longtemps le langage de programmation bien aimé des développeurs de jeux vidéo et bien plus. Encore aujourd'hui, C++ est utilisé dans de nombreux projets par des géants comme Google.

    Doit on traiter le C++ de casse gueule ?
    Pire encore, de langage de merde ?
    Le jeu vidéo est loin d'être un système critique. Le C++ est efficace et très utilisé, mais oui, c'est clairement un langage casse-gueule niveau sécurité.

  18. #18
    Membre expérimenté
    Profil pro
    Inscrit en
    juin 2009
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2009
    Messages : 417
    Points : 1 396
    Points
    1 396
    Par défaut
    Le jeu vidéo est loin d'être un système critique
    Je ne suis pas vraiment d'accord.

    Sur le mot critique, au sens de la sécurité des personnes, on est d'accord.

    Cependant quand tu as des jeux en lignes qui supportent des millions de personnes h24 et que a part la maintenance, t'as vraiment pas envie que tes serveurs crashes ou rament, il y a quand même un très haut niveau de robustesse et de performances et de fiabilité qui s'approchent beaucoup des systèmes critiques je pense.

  19. #19
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2014
    Messages : 46
    Points : 263
    Points
    263
    Par défaut
    Citation Envoyé par Uther Voir le message
    Le jeu vidéo est loin d'être un système critique. Le C++ est efficace et très utilisé, mais oui, c'est clairement un langage casse-gueule niveau sécurité.
    Attention la traduction exagère aussi un peu le propos. Linus Torvalds a utilisé le mot "crap", qui s'il n'est pas très sympathique, est quand même moins violent que "shit".
    Quand le mec dit que le C est mieux que le C++ pour son kernel pour ensuite nous répondre que le C++ est un langage casse-gueule niveau sécurité, c'est l’hôpital qui se moque de la charité. J'ai juste l'impression que Linus a une dent contre le C++, sans jamais donner un seul argument autre qu'un bon "C'est de la merde" kaamelottien ou Coffien.

  20. #20
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    avril 2002
    Messages
    4 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : avril 2002
    Messages : 4 265
    Points : 13 136
    Points
    13 136
    Par défaut
    Citation Envoyé par walfrat Voir le message
    Cependant quand tu as des jeux en lignes qui supportent des millions de personnes h24 et que a part la maintenance, t'as vraiment pas envie que tes serveurs crashes ou rament, il y a quand même un très haut niveau de robustesse et de performances et de fiabilité qui s'approchent beaucoup des systèmes critiques je pense.
    Je parlais bien sur des jeux-video coté console/PC.
    Et justement, coté serveur où les performances sont moins importantes que la fiabilité, on utilise pas aussi systématiquement le C++ que coté client.

Discussions similaires

  1. Avec quel ordinateur avez-vous fait vos premiers pas en informatique ?
    Par Stéphane le calme dans le forum Actualités
    Réponses: 16
    Dernier message: 09/03/2021, 21h15
  2. Robots auto-associateurs : premiers pas vers le Terminator II T-1000
    Par ToTo13 dans le forum Intelligence artificielle
    Réponses: 2
    Dernier message: 12/10/2013, 19h59
  3. premier pas vers SAP
    Par xxman dans le forum SAP
    Réponses: 1
    Dernier message: 10/10/2011, 07h42
  4. Premier pas vers une application J2ME
    Par sassou409 dans le forum Développement Mobile en Java
    Réponses: 2
    Dernier message: 30/06/2010, 17h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo