Чи підтримувала Windows коли-небудь архітектура обладнання, крім x86?


66

Microsoft Windows Internals, 4-е видання, говорить:

Архітектура процесора Intel x86 визначає чотири рівні привілеїв або дзвінків для захисту системного коду та даних від ненавмисного або зловмисного коду з меншими привілеями. Windows використовує рівень привілеїв 0 (або кільце 0) для режиму ядра та рівень привілеїв 3 (або 3) для режиму користувача. Причиною, що Windows використовує лише два рівні, є те, що деякі апаратні архітектури, які підтримувалися в минулому (наприклад, Compaq Alpha і Silicon Graphics MIPS), реалізували лише два рівні привілеїв .

Чи означає це, що Windows колись підтримував Alpha та MIPS?


49
Це може бути важко повірити, але Microsoft була однією з найбільш «відкритих архітектурних» компаній у світі. Оригінальний MS-DOS був сумісний з десятками різних платформ та інших ОС , а Windows розроблявся в одному ключі. Excel був побудований на віртуальній машині, яка працює на багатьох різних платформах. Це не випадково - саме так IBM PC (і клони) стали фактично настільки поширеними і швидко настільки швидкими, і як Microsoft поставила базове програмне забезпечення. Що ви обираєте - систему, яка може запускати всі ваші програми, або ту, у якої заблокований ваш постачальник? :)
Луань

13
Я сам встановив Windows і на Alpha, і на MIPS, але це було дуже давно. Коли я був стажистом Microsoft, однією з моїх задач було запускати тестові набори Visual Basic на апаратному забезпеченні, яке розробники не мали на своїх робочих столах.
Ерік Ліпперт

7
@Luaan - не тільки "відкрита архітектура", але і "відкрита ОС"! Як ще можна пояснити, що свого часу офіційно ліцензований варіант Unix був найпоширенішим встановленим Unix у світі - дивіться Xenix у Вікіпедії .
давидбак

4
Навіть сьогодні існують версії Windows, які працюють в архітектурах, відмінних від x86 / x64, а саме Windows RT для пристроїв ARM.
TigerhawkT3

2
@Luaan Також була справжня проблема, яку потрібно було вирішити, оскільки особливо ранні клони IBM PC не завжди були повністю сумісні з IBM PC. Ще в той час "100% сумісність IBM" була точкою продажу для постачальників обладнання. Ми сьогодні сприймаємо такі речі як належне, але в першій половині 1980-х років вони були зовсім не гарантовані. Майкрософт не перейшов на ринок роздрібної торгівлі операційної системи перед MS-DOS 5.0, який потрапив на ринок у 1991 році. Так, через рік після новаторської історії успіху Windows 3.0.
CVn

Відповіді:


82

Microsoft випустила Windows NT 3.1 в 1993 році як першу чисто 32-бітну версію Windows.

Windows NT був розроблений як багато архітектурна операційна система. Спочатку підтримували різні архітектури процесора, включаючи IA-32, DEC Alpha, MIPS та PowerPC.

Первісна ідея полягала в тому, щоб мати загальну кодову базу із спеціальним шаром абстракції обладнання (HAL) для кожної платформи. Однак пізніше підтримка MIPS, Alpha та PowerPC була знижена у Windows 2000 .


7
IIRC на сторінці Вікіпедії є гідним букварем про деталі того, які архітектури, хто це робив, і чому вони не вийшли на ринок.
Подорожник Geek

13
Я вважаю, що оригінальною платформою для розробки був i860. Це був обдуманий вибір, щоб зупинити потрапляння «386-ї» в дизайн. Певний час Microsoft також випускала програми для різних архітектур; У мене є компакт-диск Word для Windows 6, створений для Windows NT на i386, Alpha, MIPS та PowerPC.
Ed Avis

4
Я пам’ятаю, намагаючись придбати програмне забезпечення від Microsoft під час роботи на наших системах Alpha NT, люди з продажів Microsoft у Великобританії не знали, що таке процесор Alpha. DEC дав нам машини дуже дешево в якості провайдера, врешті-решт ми просто поставили на них unix і використали їх як X-Умови, а не для того, щоб проект портував до NT.
Ян Рінроуз

4
"Початкова ідея полягала в тому, щоб мати загальну кодову базу із спеціальним шаром абстракції апаратного забезпечення (HAL) для кожної платформи", це звучить так, що в наші дні немає фактичного HAL, що було б невірно. Для однієї Windows NT в наші дні також підтримує ARM, і навіть якщо ви підтримуєте лише x86, існує широкий спектр версій для x86 (найбільшою, очевидно, є x64) та виправлення помилок для різних процесорів, материнських плат та будь-чого іншого.
Voo

4
Був також сторонній порт до Sparc. Пізніше підтримка PowerPC була відновлена ​​для XBox360. Незадовго до цього була додана підтримка IA64. Після цього була додана підтримка AMD64. Останнє доповнення - підтримка ARM. Оригінальна платформа розвитку була i860; його ніколи не планували випускати на цій платформі, це робилося виключно тому, що вона була "дивною" і максимально відрізнялася від x86, PowerPC, MIPS та Co, щоб забезпечити портативність.
Йорг W Міттаг

46

Наскільки мені відомо, існує 8 базових архітектур (і ряд під-варіантів), з яких лише 2 підтримуються сьогодні з Windows 10.

Windows 1.0 до 3.11, Windows 95, 98 та Millenium Edition

x86 (16-ти та 32-бітні варіанти, включаючи 8086, 80186, 80286, 80386, 80486, Pentium, Pentium Pro, Pentium II, Pentium III, P4, Core, Core Duo, Core-I та різні дизайни Celeron і Atom.) Це також включає різні сумісні процесори AMD та NEC.

Windows CE

MIPS, x86, ARM (спасибі @ pjc50).
(Не впевнений, чи CE коли-небудь працював на Alpha, PowerPC.)

Windows NT

x86, x64 (або amd64, обидва імена використовуються), MIPS, Alpha, IA32, IA64, PowerPC.
Підтримка MIPS, Alpha та PowerPC була знищена в Windows 2000. Itanium був сервером лише починаючи з Windows 2000, а 32-розрядний (IA32) був скинутий у 2008 році та 64-розрядний (IA64) з Server 2012, якщо я правильно пам'ятаю. Лише x86 (обмежено деякими спеціалізованими нетбуками / планшетними пристроями) та x64 наразі дійсні для Windows 10.

Windows Phone

ARM, (може, також MIPS?)

Windows 10 для IoT

x64, ARM


2
Windows NT як Windows 10 для телефонів підтримує ARM.
Tamoghna Chowdhury

16
"IA-32" просто означає "32-розрядний x86", що є єдиною версією x86, підтримуваною Windows NT, поки не з'явилися x64 / AMD64. Можливо, x64 / AMD64 - це лише варіант x86, хоча Windows має широкий інструментарій, спеціально для вирішення його відмінностей. "IA-64", з іншого боку, - це абсолютно нова 64-бітна архітектура, що живить мікросхеми Itanium; ніколи не було такого, як 32-розрядний Itanium.
IMSoP

9
Windows CE не був варіантом NT або портом NT. У нього було своє дуже унікальне та різне ядро, включаючи зовсім іншу архітектуру процесів та карту пам'яті. Багато НТ-коду було перенесено на нього з ОС, наприклад, весь мережевий стек та багато іншого, і, звичайно, на рівні користувачів він підтримував API Windows ..
davidbak

7
Windows CE також працював на деяких варіантах Hitachi Super-H поцесорів. Відомий приклад - Sega Dreamcast (SH4), але я також думаю, що було декілька КПК на основі SH3, які керували Windows CE.
Майкл

3
Windows Phone - маркетингова назва. До РП7 він входив до лінії СЕ, WP8 - похідне NT. Аналогічно, Windows 10 IOT також є індивідуальним ядром NT, як і 3 покоління XBoxen.
MSalters


15

Планшети Windows Surface, випущені в 2012 році, використовували 32-бітну архітектуру ARM ; ця конкретна версія отримала назву Windows RT :

По суті це видання Windows 8.x, створене для 32-бітної архітектури ARM (ARMv7).

[…]

Через різну архітектуру пристроїв на основі ARM порівняно з пристроями x86, Windows RT має обмеження щодо сумісності програмного забезпечення.

Windows RT було припинено.

Джерело: Вікіпедія .



3

Лінія Windows NT протягом багатьох років підтримувала різні архітектури.

MIPS та Alpha підтримувались від 3,1 до 4,0 (Альфа насправді зробила це кандидатом у випуск Windows 2000 , але остаточний реліз не досяг ). PowerPC бачили лише в 4.0.

IA64 (Itanium) підтримувався в Windows XP. Він також підтримувався в серверній лінії від Server 2003 до Server 2008 R2.

Microsoft перенесла Windows на ARM, але потім штучно покалічила отримані системи різними способами. З Windows RT (версія ARM Windows 8) система була майже повною, але сторонні програми для настільних ПК були закриті. З різними варіантами ARM для Windows 10 робочий стіл, здається, повністю зник.


1

Windows NT (як ядро ​​в Windows RT, WP8, WP8.1 та Windows 10 для телефонів) підтримує ARM v7-A (32-бітний) та ARM v8-A (64-розрядний) (Windows 10 для телефонів, що перебувають у Lumia 950 / 950XL з архітектурою чіпсетів Qualcomm Snapdragon 810), що наразі є доповненням до x86 (включаючи x86-64 (Windows AMD64), i386 / i586 / i686 (Windows x86)). Це на додаток до історично підтримуваних архітектур, згаданих в інших відповідях, таких як Alpha, MIPS, Itanium та PowerPC.

Як зазначається в іншій відповіді, програми для настільних програм Win32 не можуть запускатись у Windows NT на ARM (тобто без x86 в емуляції ARM), якщо вони складені для архітектури x86 (як це в основному). Однак, як зазначає @user 2284570, вбудовані виконавчі файли ARM або динамічні бібліотеки можуть працювати в Windows NT для ARM, лише якщо вони (бінарні файли розповсюдження) були цифрово підписані Microsoft, що офіси p перешкоджає розповсюдженню сторонніх розробників натільних програм ARM. (наприклад, на відміну від політики з x86 або іншими архітектурами, які раніше підтримуються). Microsoft вирішила не підтримувати націлені на x86 програми Win32 (програмне забезпечення для робочого столу Windows) на двійковому рівні через емуляцію в Windows для ARM, оскільки покарання за емуляцію було б величезним і повністю проти ідеалу ARM для продуктивності в умовах жорсткого бюджету енергії (низький TDP ).

Примітка . API Windows, на який я посилаюся тут, є нативним API Win32 , а не керованою версією .NET WINAPI . Сумісність із програмою стосується сумісності бінарного рівня, а не сумісності на рівні джерела, якщо це не було очевидно.

Однак з появою платформи Windows RT та тепер Універсальної платформи Windows (UWP) побудова архітектурно-агностичного програмного забезпечення для Windows стала можливою (раніше програмне забезпечення потрібно було або емулювати, або перекомпілювати для роботи в Windows для різних архітектур) .


МС відмовилися дозволити сторонні програми для настільних ПК на руку, навіть якщо вони були перекомпільовані для цього. Це було суто штучним обмеженням (про що свідчить той факт, що хтось знайшов спосіб обійти його)
підключіть

@plugwash Я фактично згадував про штучність обмежень щодо запуску настільних додатків, складених для ARM у другому абзаці. Прочитайте, будь ласка.
Tamoghna Chowdhury

-1

Windows NT використовувався для роботи на мікросхемах MIPS і Alpha. Я запустив NT4 на Альфі. Для завантаження NT замість VMS вам довелося прошивати іншу прошивку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.