Meilleure réponse
Question: Que signifie 01001001 en code binaire?
Réponse: Dans quel contexte?
01001001 activé et IBM 360 est hexadécimal 49 ou CH qui est lopcode Compare Half Word. Il est entré sur une carte IBM en tant que poinçon 12–1–8.
01 001 001 Groupé comme octal est 1 1 1 donc sur un CDC 600 ce serait «A9»
Dans les données de champ sur un Univac, ce serait le caractère «D»
Quest-ce que le contexte?
Réponse
Windows 10 fonctionne déjà en tant que code binaire (machine Langue). Il a été compilé à partir du code source (principalement C et C ++) jusquau code machine (binaire) en utilisant des compilateurs doptimisation.
Alors, la question devient… pourrait une personne (en fait, un grande équipe de experts avec un budget gigantesque et beaucoup de temps) réécrivent Windows 10 à partir de zéro en langage machine et obtiennent de meilleures performances que le langage machine généré par les compilateurs doptimisation utilisés aujourdhui?
Les optimiseurs sont très bons ces jours-ci – si bons, quil peut être difficile de trouver du code généré qui peut être optimisé manuellement pour être plus performant et au même niveau de fiabilité. Gardez à lesprit quil existe environ 50 millions de lignes de code source de langage de haut niveau dans Windows 10, et chacune de ces lignes peut potentiellement se traduire en de nombreuses lignes de langage dassemblage, et chaque ligne de langage dassemblage se traduit généralement entre un et plusieurs octets de code machine.
Avec tout cela à lesprit, si nous parlons dune réécriture complète du système dexploitation à partir de zéro en code machine, 99\% (ou plus) de leffort nen résulterait pas plus code machine efficace, de sorte quune partie de leffort serait gaspillée. Et le 1\% possible restant des cas où le code pourrait mieux fonctionner aurait un coût astronomique. Et cest si vous pouviez trouver suffisamment dexperts ayant une compréhension suffisante de larchitecture pour écrire occasionnellement un meilleur code que ce que le compilateur doptimisation peut générer.
Si quelquun (ou une équipe) tentait cette tâche, la bonne approche serait être dutiliser des outils de profilage pour rechercher les goulots détranglement liés au processeur dans le système dexploitation, examiner attentivement le code généré par le compilateur et voir si un réglage manuel du code (ou une modification des options doptimisation du compilateur) pourrait améliorer les performances.
Depuis 1989 environ, Microsoft a mis en place une équipe pour analyser soigneusement les performances de divers composants du système dexploitation, rechercher les goulots détranglement et apporter des améliorations dans ces domaines.
Cest la bonne façon de Optimisez les logiciels en général: mesurez, recherchez les goulots détranglement et voyez ce qui peut être fait pour chacun deux.
Réécrire tout un produit logiciel géant dans un langage de bas niveau est une énorme perte de temps et de ressources .