Table des matières
Après avoir grimpé 21 étages, j'ai décidé de développer un nouveau langage
Devenu le chouchou des grands constructeurs en misant sur la sécurité
Maison Périphériques technologiques IA Remplacez le C++ ! 36 000 lignes de code Rust réécrivent le noyau Windows. Ce langage a d'abord été utilisé pour réparer les ascenseurs.

Remplacez le C++ ! 36 000 lignes de code Rust réécrivent le noyau Windows. Ce langage a d'abord été utilisé pour réparer les ascenseurs.

May 30, 2023 pm 09:31 PM
代码 rust

En remplaçant le C++, Rust va vraiment tout réécrire !

Après avoir été favorisé par de grands fabricants tels que Linux, Google et Amazon Cloud, la dernière nouvelle est que

Microsoft a réécrit le noyau Windows avec 36 000 lignes de code Rust.

Et les progrès sont assez rapides. Spoiler news du mois d'avril, après deux semaines, la version préliminaire interne de Windows 11 a été utilisée.

Le CTO de Microsoft Cloud Azure a crié avec enthousiasme sur Twitter :

Si vous rejoignez Windows 11 Insider Preview, vous découvrirez pour la première fois le noyau Windows pris en charge par Rust !

Remplacez le C++ ! 36 000 lignes de code Rust réécrivent le noyau Windows. Ce langage a dabord été utilisé pour réparer les ascenseurs.

Le noyau réécrit comprend principalement deux projets, DWriteCore et Win32 GDI, et a réussi tous les tests de démarrage de Windows.

Parmi eux, Win32 GDI a été écrit à la fin des années 80 et au début des années 90 et est un code ancien avec plus de 30 ans d'expérience professionnelle.

La raison pour laquelle il est désormais remplacé par Rust est simple et grossière :

Le langage Rust a une sécurité de mémoire extrêmement élevée, et un grand nombre de sous-programmes dangereux dans le noyau d'origine ont également disparu après avoir été réécrits. En même temps, le langage Rust est plus concis et efficace.

Les informations publiques indiquent également qu'au fil du temps, l'adoption de Rust par le noyau Windows sera considérablement étendue.

Non seulement il est apprécié des grands fabricants, mais Rust est également le « langage de programmation le plus populaire » dans l'enquête auprès des développeurs Stack Overflow depuis de nombreuses années consécutives. Récemment, sudo et su, les outils de base des systèmes Unix, ont également été réécrits en Rust.

Mais ce qui est un peu surprenant, c'est que Rust a été inventé à l'origine pour réparer les ascenseurs ? ? ?

Après avoir grimpé 21 étages, j'ai décidé de développer un nouveau langage

L'origine de tout est qu'un jour de 2006, l'ascenseur de l'appartement où vivait un homme nommé Graydon Hoare est à nouveau tombé en panne. Pour la énième fois, il a eu du mal à ramper vers son domicile au 21ème étage en jurant. Il n'arrivait pas à comprendre pourquoi le système d'ascenseur s'effondrait si facilement ? Cela ne devrait pas être le cas !

En tant que codeur dans une grande usine, frère Graydon estime que cette question n'est pas impossible à résoudre.

Il avait 29 ans à l'époque et travaillait à temps partiel chez Mozilla, la société de navigateurs Web open source

(la société derrière Firefox)

. En tant qu'initié de l'industrie, il sait que la plupart des pannes d'ascenseurs sont causées par le langage de programmation qui introduit facilement accidentellement des erreurs de mémoire, provoquant des pannes logicielles. A cette époque, les logiciels d'ascenseurs étaient souvent écrits en langage C ou C++.

Leurs avantages sont la compacité et la rapidité, mais le problème est qu'il est très facile de provoquer des erreurs de mémoire, des pannes du système et même des problèmes de sécurité.

Alors, au lieu de faire une chose et une autre, frère Graydon a simplement décidé de proposer un nouveau langage de programmation afin d'arrêter de monter les escaliers.

L'objectif est un langage qui ne soit pas sujet aux erreurs de mémoire, de préférence plus court et plus rapide.

C'est ainsi que le langage Rust est né.

Et le nom de Rust est également très intéressant.

La rouille porte le même nom qu'un champignon, dont le nom chinois est la rouille végétale. Graydon a commenté qu'elle est "sur-conçue pour la survie".

Cette structure biologique fongique est entièrement distribuée, sans aucun point de défaillance unique dans l'espace, ce qui signifie que le retrait d'une seule partie n'affectera pas sa survie, et elle est extrêmement robuste.

Dans tout leur cycle de vie, les champignons de la rouille ont un total de 5 formes de vie, dont 3 peuvent régresser vers la forme précédente, ce qui équivaut presque au fait qu'un papillon peut redevenir une chenille et repousser.

De plus, les champignons Rust peuvent parasiter plusieurs hôtes, ce qui reflète l'accent mis par le langage Rust sur l'interopérabilité entre les langues.

Remplacez le C++ ! 36 000 lignes de code Rust réécrivent le noyau Windows. Ce langage a dabord été utilisé pour réparer les ascenseurs.△Plants with Rust (Désolé pour ceux qui souffrent de cryptophobie !)

Après plusieurs années de développement en solo, Rust a reçu le soutien du Mozilla Research Institute en 2009, le projet a été annoncé en 2010 ;

Pendant le processus de développement, Rust a établi une communauté très active. Tout développeur peut signaler directement les bogues de ce projet ou contribuer directement au code source.

En mai 2015, la version 1.0 de Rust est officiellement sortie.

En seulement un an, Rust a attiré d'innombrables fans. Depuis 2016, il a été classé « langage de programmation le plus populaire »

par l'enquête auprès des développeurs Stack Overflow pendant 7 années consécutives.

Les avantages sur lesquels il s'appuie pour rester continuellement en tête de liste sont : premièrement, une vitesse d'exécution rapide, deuxièmement, une utilisation élevée de la mémoire et troisièmement, la prévention des erreurs de segmentation. En bref, c'est un outil puissant qui peut remplacer le C/C++ dans certaines parties.

Il y a donc un dicton qui circule dans le monde du code qui compare Rust au parkour. Vous pouvez faire des mouvements à haut risque, mais il n'est pas facile de se blesser.

En comparaison, le C++ peut être considéré comme jouant avec une tronçonneuse enflammée.

Et grâce au développement de Rust, frère Graydon est également devenu célèbre au cours d'une bataille.

Au cours des années suivantes, il a également participé au développement de Swift.

C'est aussi une histoire intéressante. Plutôt que d'être chef d'équipe, il me semble préférer faire du développement de première ligne.

Il a dit un jour en réponse à "Pourquoi avoir quitté l'équipe Rust" que sa vie émotionnelle personnelle avait subi un coup dur (divorce) vers 2013, ce qui l'avait empêché d'avoir beaucoup d'énergie pour être responsable de l'équipe Rust. Plus tard, il a toujours. fait profil bas chez Mozilla. Ne vous précipitez pas pour lancer le projet, puis quittez votre emploi.

Jusqu'au début de 2016, il a reçu un appel de l'équipe Apple, lui disant qu'ils recherchaient des programmeurs pour l'aider à développer Swift. "C'était un poste non-dirigeant, et je le préférais."

Devenu le chouchou des grands constructeurs en misant sur la sécurité

Mais ici, l’histoire légendaire de Rust n’est racontée qu’à moitié.

Avec l'intention initiale de « haute sécurité », il est devenu de plus en plus populaire parmi les grands fabricants ces dernières années.

Non seulement Windows, mais également les systèmes grand public tels que Linux et Android ont adopté Rust. Les relations entre Amazon Cloud, Microsoft, Google et Rust ont toujours été bonnes.

La principale raison en est peut-être que le C/C++ n'est vraiment pas bon en matière de sécurité de la mémoire.

Par exemple, Microsoft s'est beaucoup intéressé à Rust il y a quelques années. Ils l'ont identifié comme un bon moyen d'éliminer les vulnérabilités de sécurité de la mémoire avant la livraison du produit.

En 2019, Microsoft a admis que 70 % des vulnérabilités révélées par CVE dans ses produits étaient dues à des vulnérabilités de sécurité mémoire causées par l'utilisation de C/C++.

La chaîne d'outils Rust se concentre sur la découverte des vulnérabilités potentielles dans le code, ce qui réduit idéalement la possibilité que le code soit attaqué.

D'un autre côté, Rust a également été introduit dans le noyau Linux.

L'année dernière, lors du Sommet Open Source 2022 organisé par la Linux Foundation, M. Linus a soudainement annoncé que Rust pourrait être ajouté à la prochaine version !

Cela signifie que le PR officiel de Rust pour Linux sera fusionné dans la ligne principale du noyau Linux.

(Rust for Linux est une organisation appelant à la combinaison de Linux et Rust)

Vous devez savoir que seul le patch de support de Rust a été publié dans la septième version.

Lorsque le public a appris la nouvelle, ils ont immédiatement applaudi, à tel point qu'il a fallu un certain temps à Linus pour calmer tout le monde.

Quelques mois plus tard, la version 6.1 de Linux est sortie et le noyau ajoute la prise en charge de Rust, devenant ainsi la deuxième langue officielle après le C.

Google a en fait agi plus tôt.

Quand Android 12 sortira en 2021, il annoncera la prise en charge de Rust. Depuis lors, ils ont étendu l’utilisation de Rust dans le projet open source Android.

Cependant, l’approche de Google n’est pas de remplacer immédiatement le C/C++ par Rust, mais d’écrire du nouveau code en Rust.

D'après les données officielles, nous pouvons voir que le C et le C++ dominent toujours et que la proportion de Rust augmente progressivement.

Remplacez le C++ ! 36 000 lignes de code Rust réécrivent le noyau Windows. Ce langage a dabord été utilisé pour réparer les ascenseurs.

À la fin de l'année dernière, Google a déclaré que

aucune faille de sécurité n'avait été trouvée dans les parties d'Android écrites en Rust.

Ce résultat est très important car il signifie que Rust peut prévenir efficacement la vulnérabilité la plus courante d'Android, à savoir la vulnérabilité de sécurité de la mémoire. Les données de Google sur 22 ans montrent que les vulnérabilités de sécurité de la mémoire représentent une proportion très élevée de tous les types de vulnérabilités.

Remplacez le C++ ! 36 000 lignes de code Rust réécrivent le noyau Windows. Ce langage a dabord été utilisé pour réparer les ascenseurs.

Dans de nombreux composants écrits en C/C++ (tels que Bluetooth, NFC, etc.), il y aura une vulnérabilité toutes les mille lignes de code. Sur la base de ce ratio,

Rust a probablement bloqué des centaines de vulnérabilités.

Et sur la base de ses avantages élevés en matière de concurrence, l'utilisation de Rust dans Android peut équilibrer davantage la sécurité et la latence du système. De manière générale, certaines mesures de sécurité entraîneront un ralentissement du langage de programmation.

Par exemple, en utilisant la nouvelle pile UWB, vous pouvez économiser quelques mégaoctets de mémoire et éviter certains retards IPC en exécutant les processus existants.

Amazon Cloud aime aussi beaucoup Rust,

car il est aussi très agréable pour économiser de l'énergie.

Une étude a testé 27 langages de programmation et a révélé que C et Rust étaient 50 % plus efficaces que Java et 98 % plus efficaces que Python en termes d'utilisation d'énergie.

Mais le problème du C a été mentionné à plusieurs reprises, et il existe de nombreuses vulnérabilités en matière de sécurité de la mémoire, donc sur cette base, Rust gagne à nouveau.

Remplacez le C++ ! 36 000 lignes de code Rust réécrivent le noyau Windows. Ce langage a dabord été utilisé pour réparer les ascenseurs.

En fait, les grands fabricants non seulement privilégient Rust, mais en raffolent même.

En 2020, Mozilla, la société derrière Rust, a annoncé des licenciements à grande échelle, l'équipe de Rust a été licenciée et le sort de Rust est tombé dans une énorme incertitude.

Afin d'éviter ce souci caché, de grands fabricants tels qu'Amazon, Microsoft, Google et Huawei ont lancé conjointement une fondation à but non lucratif Rust. S'engager à investir environ 1 million de dollars de budget d'ici deux ans pour soutenir la maintenance du projet Rust.

Dans l’industrie, les actes de Rust sont innombrables.

Récemment, deux utilitaires de base de type Unix, sudo et su, ont été réécrits dans Rust ; auparavant, GitHub a modifié son moteur de recherche pour qu'il soit basé sur Rust Discord, un service Go, a également été réécrit dans Rust...

Cependant, Rust Il y a aussi des inconvénients. Par exemple, il sera plus difficile d'apprendre plus tard et la vitesse de développement au début est beaucoup plus lente que Go et Java.

Rust a donc de nombreux éloges, mais son « taux de vente » est encore relativement moyen, et il peut même être qualifié de « langage impopulaire ».

Surtout en Chine, le recrutement de Rust peut être qualifié de « pitoyablement peu nombreux ».

Certains internautes ont une attitude pessimiste :

Remplacez le C++ ! 36 000 lignes de code Rust réécrivent le noyau Windows. Ce langage a dabord été utilisé pour réparer les ascenseurs.

Pour cette raison, Rust s'optimise également davantage.

Selon le parcours Rust 2024 qu'elle a publié, l'équipe officielle redoublera d'efforts pour abaisser le seuil d'apprentissage et renforcer les liens écologiques.

Donc, cela vaut la peine d’attendre avec impatience comment Rust se développera à l’avenir~

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le code 28 du pilote Win7 Comment résoudre le code 28 du pilote Win7 Dec 30, 2023 pm 11:55 PM

Certains utilisateurs ont rencontré des erreurs lors de l'installation du périphérique, provoquant le code d'erreur 28. En fait, cela est principalement dû au pilote. Il nous suffit de résoudre le problème du code de pilote Win7 28. Voyons ce qu'il faut faire. . Que faire avec le code 28 du pilote Win7 : Tout d'abord, nous devons cliquer sur le menu Démarrer dans le coin inférieur gauche de l'écran. Ensuite, recherchez et cliquez sur l'option "Panneau de configuration" dans le menu contextuel. Cette option est généralement située en bas ou près du bas du menu. Après avoir cliqué, le système ouvrira automatiquement l'interface du panneau de configuration. Dans le panneau de configuration, nous pouvons effectuer divers paramètres système et opérations de gestion. C'est la première étape du niveau de nettoyage nostalgique, j'espère que cela aidera. Ensuite, nous devons continuer et entrer dans le système et

Que faire si le code d'écran bleu 0x0000001 apparaît Que faire si le code d'écran bleu 0x0000001 apparaît Feb 23, 2024 am 08:09 AM

Que faire avec le code d'écran bleu 0x0000001. L'erreur d'écran bleu est un mécanisme d'avertissement en cas de problème avec le système informatique ou le matériel. Le code 0x0000001 indique généralement une panne de matériel ou de pilote. Lorsque les utilisateurs rencontrent soudainement une erreur d’écran bleu lors de l’utilisation de leur ordinateur, ils peuvent se sentir paniqués et perdus. Heureusement, la plupart des erreurs d’écran bleu peuvent être dépannées et traitées en quelques étapes simples. Cet article présentera aux lecteurs certaines méthodes pour résoudre le code d'erreur d'écran bleu 0x0000001. Tout d'abord, lorsque nous rencontrons une erreur d'écran bleu, nous pouvons essayer de redémarrer

L'ordinateur affiche fréquemment des écrans bleus et le code est différent à chaque fois L'ordinateur affiche fréquemment des écrans bleus et le code est différent à chaque fois Jan 06, 2024 pm 10:53 PM

Le système Win10 est un très excellent système à haute intelligence. Sa puissante intelligence peut apporter la meilleure expérience utilisateur aux utilisateurs. Dans des circonstances normales, les ordinateurs du système Win10 des utilisateurs n'auront aucun problème ! Cependant, il est inévitable que divers défauts se produisent sur d'excellents ordinateurs. Récemment, des amis ont signalé que leurs systèmes Win10 rencontraient fréquemment des écrans bleus ! Aujourd'hui, l'éditeur vous proposera des solutions aux différents codes qui provoquent des écrans bleus fréquents sur les ordinateurs Windows 10. Jetons un coup d'œil. Solutions aux écrans bleus fréquents de l'ordinateur avec des codes différents à chaque fois : causes des différents codes d'erreur et suggestions de solutions 1. Cause de l'erreur 0×000000116 : Il se peut que le pilote de la carte graphique soit incompatible. Solution : Il est recommandé de remplacer le pilote d'origine du fabricant. 2,

System76 conseille la version Fedora Cosmic pour la version 2025 avec Fedora 42 System76 conseille la version Fedora Cosmic pour la version 2025 avec Fedora 42 Aug 01, 2024 pm 09:54 PM

System76 a récemment fait des vagues avec son environnement de bureau Cosmic, dont le lancement est prévu avec la prochaine version alpha majeure de Pop!_OS le 8 août. Cependant, un article récent sur X du PDG de System76, Carl Richell, a indiqué que Cosmic DE développeur

Comment développer la fonction de prélecture du cache à l'aide du langage Redis et Rust Comment développer la fonction de prélecture du cache à l'aide du langage Redis et Rust Sep 21, 2023 am 11:57 AM

Comment utiliser le langage Redis et Rust pour développer la fonction de prélecture du cache Introduction : Avec la croissance des applications Web et l'augmentation du nombre d'utilisateurs, la mise en cache est devenue l'un des moyens importants pour améliorer les performances. Pour améliorer encore l'efficacité de la mise en cache, nous pouvons utiliser la prélecture du cache, qui charge les données mises en cache dans le cache à l'avance avant qu'elles ne soient nécessaires. Cet article expliquera comment utiliser les langages Redis et Rust pour implémenter la fonction de prélecture du cache et joindra des exemples de code spécifiques. 1. Introduction à Redis Redis est un magasin clé-valeur basé sur la mémoire

Résoudre l'erreur du code 0xc000007b Résoudre l'erreur du code 0xc000007b Feb 18, 2024 pm 07:34 PM

Code de terminaison 0xc000007b Lors de l'utilisation de votre ordinateur, vous rencontrez parfois divers problèmes et codes d'erreur. Parmi eux, le code de terminaison est le plus inquiétant, notamment le code de terminaison 0xc000007b. Ce code indique qu'une application ne peut pas démarrer correctement, provoquant des désagréments pour l'utilisateur. Tout d’abord, comprenons la signification du code de terminaison 0xc000007b. Ce code est un code d'erreur du système d'exploitation Windows qui se produit généralement lorsqu'une application 32 bits tente de s'exécuter sur un système d'exploitation 64 bits. Cela signifie que ça devrait

Programme de codes à distance universels GE sur n'importe quel appareil Programme de codes à distance universels GE sur n'importe quel appareil Mar 02, 2024 pm 01:58 PM

Si vous devez programmer un appareil à distance, cet article vous aidera. Nous partagerons les meilleurs codes de télécommande universelle GE pour programmer n’importe quel appareil. Qu'est-ce qu'une télécommande GE ? GEUniversalRemote est une télécommande qui peut être utilisée pour contrôler plusieurs appareils tels que les téléviseurs intelligents, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, lecteurs multimédias en streaming et plus encore. Les télécommandes GEUniversal sont disponibles en différents modèles avec différentes caractéristiques et fonctions. GEUniversalRemote peut contrôler jusqu'à quatre appareils. Les meilleurs codes de télécommande universels à programmer sur n'importe quel appareil. Les télécommandes GE sont livrées avec un ensemble de codes qui leur permettent de fonctionner avec différents appareils. vous pouvez

L'éditeur Zed basé sur Rust est open source, avec prise en charge intégrée d'OpenAI et GitHub Copilot L'éditeur Zed basé sur Rust est open source, avec prise en charge intégrée d'OpenAI et GitHub Copilot Feb 01, 2024 pm 02:51 PM

Auteur丨Compilé par TimAnderson丨Produit par Noah|51CTO Technology Stack (WeChat ID : blog51cto) Le projet d'éditeur Zed est encore en phase de pré-version et a été open source sous licences AGPL, GPL et Apache. L'éditeur offre des performances élevées et plusieurs options assistées par l'IA, mais n'est actuellement disponible que sur la plate-forme Mac. Nathan Sobo a expliqué dans un article que dans la base de code du projet Zed sur GitHub, la partie éditeur est sous licence GPL, les composants côté serveur sont sous licence AGPL et la partie GPUI (GPU Accelerated User) l'interface) adopte la Licence Apache2.0. GPUI est un produit développé par l'équipe Zed

See all articles