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 n'utilise que deux niveaux est que certaines architectures matérielles prises en charge par le passé (telles que Compaq Alpha et Silicon Graphics MIPS) n'implémentaient que deux niveaux de privilège .
Est-ce que cela signifie que Windows a déjà pris en charge Alpha et MIPS?
windows
privileges
x86
mips
Xiaokaoy
la source
la source
Réponses:
Microsoft a publié Windows NT 3.1 en 1993 en tant que première version de Windows purement 32 bits.
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 été abandonnée par la suite dans Windows 2000 .
la source
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, y compris 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é sur 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 ne débutait que sous Windows 2000 et la version 32 bits (IA32) a été abandonnée pour 2008 et la version 64 bits (IA64) avec Server 2012, si je me souviens bien. 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
la source
Windows XP 64 bits et Windows Server 2003-2008R2 prennent en charge l'architecture Intel Itanium IA-64.
la source
Les tablettes Windows Surface publiées en 2012 utilisaient une architecture ARM 32 bits . Cette version spécifique s'appelait Windows RT :
Windows RT a été abandonné.
Source: Wikipedia .
la source
Windows 10 IoT Core s'exécute sur des architectures ARM 32 bits (IA-32, ARMv7), telles que le Raspberry Pi 3. Il comporte toutefois certaines limitations.
Sources:
la source
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 a même été retenu comme candidat à la publication pour Windows 2000 , mais il n’a pas été rendu dans 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 artificiellement paralysé 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 variantes ARM de Windows 10, le bureau semble avoir complètement disparu.
la source
Windows NT (en tant que noyau dans Windows RT, WP8, WP8.1 et Windows 10 pour les téléphones) prend en charge les versions ARM v7-A (32 bits) et ARM v8-A (64 bits) (Windows 10 pour les téléphones actuellement en attente). Lumia 950 / 950XL avec le chipset Qualcomm Snapdragon 810) en plus des architectures 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'est-à-dire sans émulation x86 sur ARM) si elles sont compilées pour l'architecture x86 (comme elles le sont pour la plupart). Cependant, comme mentionné par @utilisateur 2284570, les exécutables natifs ARM 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 empêche la distribution de développeurs tiers d'applications natives ARM. (contrairement à la politique avec x86 ou à d'autres architectures précédemment 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 contraires à l'idéal de performances ARM avec un budget énergétique réduit (faible TDP). ).
Remarque: L'API Windows à laquelle je fais référence ici est l'API native Win32 , pas la version .NET WINAPI ( gérée ). 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 à présent de la plate-forme universelle Windows (UWP), la création d'un logiciel sans architecture pour Windows est devenue une possibilité (auparavant, les logiciels devaient être émulés ou recompilés pour être exécutés sous Windows sur différentes architectures). .
la source
Windows NT fonctionnait sur les puces MIPS et Alpha. J'ai couru NT4 sur un Alpha. Vous avez dû flasher un autre firmware pour démarrer NT au lieu de VMS.
la source