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

Windows Discussion :

Microsoft travaille à réécrire le code du kernel de Windows responsable de la gestion des fenêtres en Rust


Sujet :

Windows

  1. #1
    Chroniqueur Actualités
    Avatar de Patrick Ruiz
    Homme Profil pro
    Redacteur web
    Inscrit en
    Février 2017
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Redacteur web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2017
    Messages : 1 883
    Points : 52 371
    Points
    52 371
    Par défaut Microsoft travaille à réécrire le code du kernel de Windows responsable de la gestion des fenêtres en Rust
    Microsoft travaille à réécrire le code du kernel de Windows responsable de la gestion des fenêtres en langage Rust
    Considéré comme candidat idéal à l’abandon de C et C++

    Microsoft est en réécriture du code du kernel de Windows responsable de la gestion des fenêtres en langage Rust. La manœuvre n’est pas sans rappeler l’adoption du même langage pour le développement du noyau Linux. En cela, Rust se distingue de plusieurs langages annoncés par le passé comme des remplaçants du C et du C++. Le tableau vient donc raviver les débats sur la possible mise au rebut de langages comme le C ou le C++ au profit du langage Rust et ses garanties de sécurisation de la mémoire annoncées supérieures à celles de C et C++.

    Microsoft a effectué un portage de la bibliothèque Win32k GDI (responsable de la gestion des fenêtres) en langage Rust. Un responsable de l’entreprise a passé l’annonce lors de la dernière édition de la conférence BlueHat. L’objectif était de convertir certains des types C++ de ladite bibliothèque en leurs équivalents Rust dans le but de rendre les accès en mémoire moins perméables.

    Nom : 0.png
Affichages : 97924
Taille : 496,2 Ko


    Le tableau n’est pas sans faire penser à l’adoption de Rust comme deuxième langage pour le développement du noyau Linux. Le motif : profiter des avantages que Rust introduit en comparaison au langage C. Plus précisément, comme Alex Gaynor et Geoffrey Thomas l'ont expliqué lors du Linux Security Summit 2019, près des deux tiers des failles de sécurité du noyau Linux proviennent de problèmes de sécurité de la mémoire. Et d'où viennent-ils ? Des faiblesses inhérentes au langage C et C++. Rust, en revanche, esquive ces problèmes en utilisant des interfaces de programmation d'applications (API) bien plus sûres. Rust est tout simplement plus sûr que C.

    Récemment, l'Agence nationale de sécurité américaine (NSA) a suggéré que l'une des meilleures choses à faire pour la sécurité d’un programme est d'utiliser Rust plutôt que C. Bien sûr, il existe d'autres langages de ce type, tels que Swift, Go ou C#, mais ils ne se prêtent pas au type de programmation de bas niveau nécessaire à un système d'exploitation.

    Dans la pratique, Google, par exemple, utilise désormais largement Rust dans Android. « L'objectif n'est pas de convertir le C/C++ existant en Rust, mais plutôt de transférer le développement de nouveaux codes vers des langages à mémoire sécurisée au fil du temps », indique le géant technologique.

    Résultat : « la quantité de nouveau code non sécurisé par la mémoire entrant dans Android a diminué, le nombre de vulnérabilités de sécurité de la mémoire a également diminué. De 2019 à 2022, il est passé de 76 % à 35 % du total des vulnérabilités d'Android. 2022 est la première année où les vulnérabilités de sécurité de la mémoire ne représentent pas une majorité des vulnérabilités d'Android », ajoute-t-il.

    Certains intervenants sont néanmoins d’avis que les initiatives de mise au rebut du langage C sont vouées à l’échec

    Le créateur du langage C3 dresse néanmoins une longue liste de raisons pour lesquelles les initiatives de mise au rebut du langage C sont vouées à l’échec. Il s’exprime sur divers aspects dont :

    La chaîne d'outils du langage C

    Le langage C n'est pas seulement le langage lui-même, mais aussi tous les outils de développement développés pour ce langage. Vous voulez faire une analyse statique de votre code source ? - Il y a beaucoup de gens qui travaillent sur ce sujet pour le C. Des outils pour détecter les fuites de mémoire, les courses de données et autres bogues ? Il y en a beaucoup, même si votre langage est mieux outillé.

    Si vous voulez cibler une plateforme obscure, il est probable que vous utilisiez le C. Le statut du C en tant que lingua franca de l'informatique d'aujourd'hui fait qu'il vaut la peine d'écrire des outils pour ce langage, et de nombreux outils sont donc écrits.

    Si quelqu'un a mis en place une chaîne d'outils qui fonctionne, pourquoi risquer de changer de langage ? Un "meilleur C" doit apporter beaucoup de productivité supplémentaire pour motiver le temps passé à mettre en place une nouvelle chaîne d'outils. Reste même à savoir si cela est possible.

    Les incertitudes d'un nouveau langage

    Avant qu'un langage ne soit arrivé à maturité, il est probable qu'il comporte des bogues et qu'il soit modifié de manière significative pour résoudre les problèmes de sémantique du langage. Et le langage est-il même conforme à la publicité ? Il offre peut-être quelque chose comme "des temps de compilation exceptionnels" ou "plus rapide que le C" - mais ces objectifs s'avèrent difficiles à atteindre lorsque le langage ajoute l'ensemble des fonctionnalités.

    Et qu'en est-il des mainteneurs ? Bien sûr, un langage open source peut être bifurqué, mais je doute que de nombreuses entreprises soient intéressées par l'utilisation d'un langage qu'elles pourraient être obligées de maintenir plus tard. Parier sur un nouveau langage est un gros risque.

    Le fait que le langage pourrait tout simplement ne pas être assez bon

    Le langage s'attaque-t-il aux véritables points faibles du C ? Il s'avère que les gens ne sont pas toujours d'accord sur ce que sont les points sensibles du C. L'allocation de mémoire, la gestion des tableaux et des chaînes de caractères sont souvent délicates, mais avec les bonnes bibliothèques et une bonne stratégie mémoire, elles peuvent être minimisées. Le langage ne traite-t-il pas des problèmes dont les utilisateurs avancés ne se soucient pas vraiment ? Si c'est le cas, sa valeur réelle pourrait être beaucoup plus faible que prévu.

    Et pire encore, que se passe-t-il si le langage omet des fonctionnalités cruciales qui sont présentes en C ? Des fonctionnalités sur lesquelles les programmeurs avancés du C comptent ? Ce risque est accru si le concepteur du langage n'a pas beaucoup utilisé le C, mais vient du C++, du Java, etc.

    L’absence de développeurs expérimentés pour un nouveau langage

    Un nouveau langage disposera naturellement d'un groupe beaucoup plus restreint de développeurs expérimentés. Pour toute entreprise de taille moyenne ou grande, c'est un énorme problème. Plus il y a de développeurs disponibles pour une entreprise, mieux elle se porte.

    De plus, si l'entreprise a l'expérience du recrutement de développeurs C, elle ne sait pas comment recruter pour ce nouveau langage.

    L'ABI C

    Si le langage ne peut pas facilement appeler - ou être appelé - par du code C, alors toute personne utilisant le langage devra faire un travail supplémentaire pour faire à peu près tout ce qui est interface avec du code extérieur. C'est potentiellement un énorme inconvénient.

    Source : Video conference BlueHat

    Et vous ?

    Êtes-vous en accord avec les griefs portés à l'endroit de C/C++ en matière de sécurité ? Le problème n'est-il pas plutôt celui de la qualité des développeurs ?
    Le C et le C++ a-t-il vraiment besoin de remplaçants surtout en matière de programmation système ?
    Votre entreprise a-t-elle adopté le langage Rust ? Si oui, pour quelles raisons ?
    Quel commentaire faites-vous de l’argumentaire du créateur du langage C3 ? Quels sont les aspects les plus pertinents ? Quels sont ceux qui le sont moins ?
    Pourquoi les langages C et C++ pourraient-ils encore avoir de longues années devant eux ?

    Voir aussi :

    L'équipe Microsoft Security Response Center recommande l'utilisation de Rust comme approche proactive pour un code plus sécurisé
    Quel langage pourrait remplacer C ? Après avoir comparé Go, Rust et D, le choix d'Andrei Alexandrescu se porte sur D
    C2Rust : un outil qui permet de faire la traduction et la refactorisation de votre code écrit en langage C vers le langage Rust
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Communiqués de presse

    Femme Profil pro
    Traductrice Technique
    Inscrit en
    Juin 2023
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Traductrice Technique

    Informations forums :
    Inscription : Juin 2023
    Messages : 1 075
    Points : 75 285
    Points
    75 285
    Par défaut Microsoft a fait un don sans restriction d'un million de dollars à la Fondation Rust
    Microsoft a fait un don sans restriction d'un million de dollars à la Fondation Rust, après avoir annoncé vouloir migrer des parties du code du kernel de Windows de C++ vers Rust.

    Microsoft a fait un don sans restriction d'un million de dollars à la Fondation Rust, démontrant ainsi son engagement envers le langage de programmation Rust et son écosystème.

    Rust est un langage de programmation polyvalent multi-paradigme qui met l'accent sur les performances, la sécurité des types et la concurrence. Il assure la sécurité de la mémoire, c'est-à-dire que toutes les références pointent vers une mémoire valide, sans ramasse-miettes. Afin d'assurer simultanément la sécurité de la mémoire et d'éviter les courses aux données, son "vérificateur d'emprunts" suit la durée de vie de toutes les références d'un programme pendant la compilation.

    Microsoft, membre platine de la Fondation Rust, a fait un don sans restriction en décembre 2023 pour aider l'organisation à faire progresser les performances, la sécurité et la durabilité du langage de programmation Rust. Cependant, l'annonce de la donation a été retardée car la fondation avait besoin de temps pour décider démocratiquement de la meilleure façon d'allouer les fonds pour soutenir les mainteneurs de Rust et le langage lui-même.

    En effet, la Fondation Rust vient d'annoncer l'allocation du don de 1 million de dollars de Microsoft pour soutenir les priorités de la Fondation Rust et du projet Rust.

    Voici l'annonce de la Fondation Rust :

    La Rust Foundation (Fondation Rust), une organisation indépendante à but non lucratif dédiée à l'avancement de la performance, de la sécurité et de la durabilité du langage de programmation Rust, est heureuse d'annoncer que les fonds provenant d'un don sans restriction de 1 million de dollars de Microsoft en décembre 2023 seront alloués pour soutenir une variété de priorités critiques du langage Rust et du projet.

    Ce don de 1 million de dollars de Microsoft, membre platine de la Fondation Rust, sera investi sur une période de deux ans et appliqué aux domaines prioritaires suivants dans l'écosystème Rust :

    • Embauche d'un ingénieur d'infrastructure supplémentaire pour la Fondation Rust
    • Financement du programme "Fellowship" de la Fondation Rust
    • Développement de nouveaux systèmes et programmes pour soutenir le travail des mainteneurs du projet Rust et réduire la charge de travail.


    En janvier 2024, le conseil d'administration de la Fondation Rust a approuvé une motion visant à consacrer 350 000 dollars de ce financement à l'emploi d'un nouvel ingénieur d'infrastructure pendant deux ans, et à réserver 650 000 dollars au projet Rust pour financer directement les priorités de leur choix sur une période de deux ans.

    La Fondation Rust a passé le premier trimestre 2024 en étroite collaboration avec les directeurs de projet de la Fondation Rust et le Conseil de direction du projet Rust afin d'identifier les besoins les plus urgents au sein du projet Rust. Le Conseil de direction envisage actuellement un plan qui impliquerait l'utilisation d'une grande partie des premiers 325 000 $ réservés au projet Rust pour apporter des améliorations clés aux processus, y compris le développement de nouveaux mécanismes de collaboration pour aider à soutenir l'efficacité du flux de travail des mainteneurs.

    Rebecca Rumbul, directrice générale de la Rust Foundation, a déclaré à propos de l'impact de cette donation :

    "En faisant cette contribution sans restriction d'un million de dollars à la Fondation Rust, Microsoft a démontré son engagement continu envers le langage de programmation Rust, l'intendance de la Rust Foundation et le statut du Leadership Council en tant que défenseur du projet Rust au sens large. La Fondation Rust est impatiente de soutenir les priorités émergentes au sein du projet, en plus de l'embauche d'un deuxième ingénieur en infrastructure et de la poursuite de notre soutien direct aux mainteneurs de Rust par le biais du programme de bourses".

    Nell Shamrell-Harrington, directrice membre de la Fondation Rust pour Microsoft et vice-présidente du conseil d'administration, a déclaré ce qui suit à propos de la donation de l'organisation :

    "Cette contribution témoigne de l'engagement de Microsoft en faveur du langage de programmation Rust et de son succès continu par l'intermédiaire de la Fondation Rust. Microsoft est heureux de voir son investissement de 1 million de dollars utilisé pour embaucher des ingénieurs d'infrastructure de la Fondation Rust, soutenir le programme de subventions communautaires de la Fondation Rust et soutenir directement les domaines critiques identifiés par les dirigeants du projet Rust.

    Et vous ?

    Quel est votre avis sur le sujet ?

    Voir aussi :

    Microsoft travaille à réécrire le code du kernel de Windows responsable de la gestion des fenêtres en langage Rust, considéré comme candidat idéal à l'abandon des langages C et C++

    Les mainteneurs et les contributeurs du projet Rust seraient confrontés à un problème d'épuisement professionnel, selon une ancienne contributrice au projet Rust

    Google accorde une subvention d'1 million de $ à la Fondation Rust pour soutenir les efforts d'interopérabilité avec C++ et faciliter la transition à Rust jugé supérieur pour sécuriser les logiciels
    Publication de communiqués de presse en informatique. Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

Discussions similaires

  1. Microsoft travaille sur un sous-système Android pour Windows 10
    Par Stan Adkens dans le forum Actualités
    Réponses: 5
    Dernier message: 21/12/2020, 17h18
  2. Réponses: 0
    Dernier message: 15/06/2018, 01h04
  3. Réponses: 5
    Dernier message: 25/02/2009, 15h13
  4. comment travailer avec le code blocks
    Par samoucha10 dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 11/12/2007, 16h10
  5. Cherche API pour travailler sur le code source java
    Par Alec6 dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 04/10/2007, 09h13

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