web-dev-qa-db-fra.com

Windows a-t-il déjà pris en charge des architectures matérielles autres que x86?

Microsoft Windows Internals, 4ème édition dit:

L'architecture du processeur Intel x86 définit quatre niveaux de privilèges, ou sonneries, afin d'éviter que le code et les données du système ne soient écrasés par inadvertance ou par malveillance par un code de privilège réduit. Windows utilise le niveau de privilège 0 (ou la sonnerie 0) pour le mode noyau et le niveau de privilège 3 (ou la sonnerie 3) pour le mode utilisateur. La raison pour laquelle Windows utilise seulement deux niveaux est que certaines architectures matérielles prises en charge dans le passé (telles que Compaq Alpha et Silicon Graphics MIPS) n'implémentaient que deux niveaux de privilèges .

Est-ce que cela signifie que Windows a déjà pris en charge Alpha et MIPS?

66
xiaokaoy

Microsoft a publié Windows NT 3.1 en 1993 en tant que première version purement 32 bits de Windows.

Windows NT a été développé en tant que système d'exploitation multi-architecture. Prise en charge initiale de différentes architectures de CPU, notamment IA-32, DEC Alpha, MIPS et PowerPC.

L'idée initiale était de disposer d'une base de code commune avec une couche d'abstraction matérielle (HAL) personnalisée pour chaque plate-forme. Toutefois, la prise en charge de MIPS, Alpha et PowerPC a par la suite été abandonnée dans Windows 2000 .

82
jcbermu

Autant que je sache, il existe 8 architectures de base (et un certain nombre de sous-variantes), dont seulement 2 sont encore prises en charge aujourd'hui avec Windows 10.

Windows 1.0 à 3.11, Windows 95, 98 et Millenium Edition

x86 (variantes 16 bits et 32 ​​bits, notamment 8086, 80186, 80286, 80386, 80486, Pentium, Pentium Pro, Pentium II, Pentium III, P4, Core, Core Duo, Core-I et diverses conceptions Celeron et Atom.) Ce produit comprend également divers processeurs compatibles AMD et NEC.

Windows CE

MIPS, x86, ARM (merci @ pjc50).
(Je ne sais pas si CE a déjà fonctionné sous Alpha, PowerPC.)

Windows NT

x86, x64 (ou AMD64, les deux noms sont utilisés), MIPS, Alpha, IA32, IA64, PowerPC.
La prise en charge de MIPS, Alpha et PowerPC a été supprimée sous Windows 2000. Le serveur Itanium n’était démarré que sous Windows 2000 et la version 32 bits (IA32) a été abandonnée pour 2008 et 64 bits (IA64) avec Server 2012, si je me souviens bien. correctement. Seuls les x86 (limités à certains netbooks/tablettes spécialisés) et x64 sont toujours valables pour Windows 10.

Téléphone Windows

ARM, (peut-être aussi MIPS?)

Windows 10 pour l'IoT

x64, ARM

46
Tonny

Windows XP 64 bits et Windows Server 2003-2008R2 prennent en charge l'architecture Intel Itanium IA-64.

21
JamesRyan

Les tablettes Windows Surface publiées en 2012 utilisaient une architecture 32-bit ARM, cette version spécifique s'appelait Windows RT:

Il s’agit essentiellement d’une édition de Windows 8.x conçue pour l’architecture ARM 32 bits (ARMv7).

[…]

En raison de l’architecture différente des périphériques ARM par rapport aux périphériques x86, Windows RT présente des limitations de compatibilité logicielle.

Windows RT n'est plus disponible.

Source: Wikipedia .

15
A.L

Windows 10 IoT Core s'exécute sur une architecture ARM 32 bits (IA-32, ARMv7), telle que le Raspberry Pi 3. Il comporte toutefois certaines limitations.

Sources:

3
Ghanima

La ligne windows NT a pris en charge diverses architectures au fil des ans.

MIPS et Alpha ont été pris en charge de la version 3.1 à la version 4.0 (Alpha l’a fait jusqu’à présent comme candidate à la publication pour Windows 2000 , mais n’a pas été rendu à la version finale). PowerPC a été vu dans 4.0 seulement.

IA64 (Itanium) était pris en charge par Windows XP. Il était également pris en charge sur la ligne serveur de Server 2003 à Server 2008 R2.

Microsoft a porté Windows sur ARM, mais a ensuite paralysé artificiellement les systèmes résultants de différentes manières. Avec Windows RT (la version ARM de Windows 8), le système était pratiquement complet, mais les applications de bureau tierces étaient verrouillées. Avec les différentes ARM variantes de Windows 10, le bureau semble avoir complètement disparu.

3
plugwash

Windows NT (en tant que noyau dans Windows RT, WP8, WP8.1 et Windows 10 pour les téléphones) prend en charge le ARM v7-A (32 bits) et le ARM v8-A ( 64 bits) (Windows 10 pour téléphones actuellement sur les architectures Lumia 950/950XL avec jeu de puces Qualcomm Snapdragon 810) actuellement en plus de x86 (y compris x86-64 (Windows AMD64), i386/i586/i686 (Windows x86)). Cela s'ajoute aux architectures historiquement prises en charge mentionnées dans d'autres réponses telles que Alpha, MIPS, Itanium et PowerPC.

Comme indiqué dans une autre réponse, les applications de bureau Win32 ne peuvent pas être exécutées de manière native sur Windows NT sur ARM (c.-à-d. Sans x86 sur l'émulation ARM) si elles sont compilées pour l'architecture x86 (telles quelles). la plupart). Toutefois, comme mentionné par @utilisateur 2284570, ARM les exécutables natifs ou les bibliothèques dynamiques peuvent s'exécuter dans Windows NT pour ARM uniquement s'ils ont été signés numériquement par Microsoft, ce qui offices p empêche la distribution de développeurs tiers d'applications ARM natives (contrairement à la stratégie avec x86 ou à d'autres architectures prises en charge, par exemple). Microsoft a choisi de ne pas prendre en charge les applications Win32 ciblées sur x86 (logiciel Desktop Windows) à un niveau binaire via une émulation sous Windows pour ARM car les performances de l'émulation seraient énormes et totalement contre ARM. _ idéal de performance dans un budget de puissance serré (TDP bas).

Remarque: L'API Windows à laquelle je fais référence ici est la version Win32 native API, et non la version .NET WINAPI ( managed ). La compatibilité des applications fait ici référence à la compatibilité au niveau binaire, et non à la compatibilité au niveau de la source, si ce n'était pas apparent.

Cependant, avec l'avènement de la plate-forme Windows RT et maintenant de la plate-forme universelle Windows (UWP), la création d'un logiciel sans architecture pour Windows est devenue une possibilité (auparavant, le logiciel devait être émulé ou recompilé pour être exécuté). sous Windows sur différentes architectures).

1