Aujourd'hui, je lisais des nouvelles ( 1 , 2 , 3 , 4 ) sur Microsoft Windows 8 et j'ai vu que l'une des nouvelles fonctionnalités est qu'il peut fonctionner sur un système basé sur un processeur ARM . Cela me fait me demander les raisons pour lesquelles cela ne peut pas être fait avec la version actuelle de Windows (Seven).
Quelles sont les limites réelles de Windows 7 pour savoir comment l'installer sur un système basé sur un processeur ARM? Cela aurait à voir avec la version du noyau, les pilotes, l'architecture ou même un mélange de ces facteurs?
Jusqu'à ce que je sache, je peux installer Linux sur un ARM, donc je ne peux même pas installer Windows Seven sous une machine virtuelle VMWare sur un ARM?
Réponses:
Pour que les binaires s'exécutent sur un processeur ARM, ils doivent être compilés spécifiquement pour ce processeur ou être exécutés dans un émulateur.
Étant donné que les systèmes Linux sont open source, les utilisateurs peuvent les compiler spécifiquement pour les systèmes ARM et réécrire tout code spécifique x86. Étant donné que la source pour Windows est fermée, à moins que Microsoft ne publie une version ARM, elle ne peut pas être recompilée et exécutée dessus.
Il y a d'autres problèmes avec le passage aux systèmes ARM, mais c'est probablement le plus gros.
Pour autant que je sache, VMware n'émulera pas un x86. Je pense que qemu peut le faire, mais je ne l'ai pas utilisé auparavant pour émuler ARM x86, juste pour émuler ARM x86. Il y aura un impact significatif sur les performances si cela fonctionne.
Alors que tout programme doit être compilé pour l'architecture sur laquelle il est destiné, un système d'exploitation doit souvent être beaucoup plus personnalisé en fonction de l'architecture spécifique. Les systèmes d'exploitation sont responsables de choses comme la planification et le changement de tâche, qui fonctionnent avec le processeur à des niveaux très profonds.
la source
La réponse simple est "MS n'a pas publié de port" (bien que Windows 8 soit censé être porté sur ARM), simplement parce que cela n'avait aucun sens commercial à l'époque. Si vous voulez entrer, si la SEP pouvait ...
Eh bien, historiquement, la famille NT a fonctionné sur une gamme de processeurs - NT fonctionnait sur Alpha, PPC et MIPS, et il y avait des ports prévus pour les architectures Clipper et SPARC. Cela est possible car Windows NT a résumé les parties du code dépendant du matériel (la couche HAL ) et la réécriture de cette section et la recompilation de tout le reste devraient faire l'affaire (bien qu'en théorie, les logiciels basés sur .NET soient censés être indépendants du matériel).
Contrairement à Linux, qui, si je me souviens bien, a des branches de noyau séparées pour chaque architecture, soi-disant SEULE la HAL est spécifique au matériel, et le reste est commun - je crois qu'une fois qu'une HAL pour la plate-forme ARM en question a été créée, elle devrait être relativement trivial, et pas différent du codage pour divers bits de matériel, surtout si le système était par ailleurs conventionnel, par exemple, en utilisant PCI-E et d'autres interfaces standard de l'industrie.
En supposant que Microsoft a publié un port ARM de Windows 7, tout logiciel non interprété ou fonctionnant sur une machine virtuelle comme JVM, LLVM ou CLR devrait être recompilé ou exécuté sur une couche de traduction, comme Rosetta ou l'ancienne compatibilité 68K couche sur les anciens macs , qui connaît le code spécifique x86 (et l'exécute en émulation de manière transparente), et il y a suffisamment de puissance de processeur pour la traduction.
la source
Vous ne pouvez pas exécuter de fichiers binaires sur des processeurs dont l'architecture est différente de celle à laquelle les fichiers binaires ont été compilés.
Vous ne pouvez pas exécuter un AMD64 Linux sur ARM, tout comme vous ne pouvez pas exécuter AMD64 linux sur un processeur i386 (32 bits). Vos seules options sont d'émuler un processeur entier (voir qemu ) puis de faire de votre mieux.
VMware / VirtualBox ne sont pas des émulateurs de processeur, vous n'avez donc pas de chance là-bas également.
la source