Windows hiç x86 dışındaki herhangi bir donanım mimarisini destekledi mi?


66

Microsoft Windows Internals, 4. Baskı diyor ki:

Intel x86 işlemcisinin mimarisi, sistem kodunun ve verilerin daha az ayrıcalık koduyla istemeden veya kötü amaçlı olarak üzerine yazılmasını önlemek için dört ayrıcalık düzeyi veya zil sesi tanımlar. Windows, çekirdek modu için ayrıcalık düzeyi 0'ı (veya çalma 0) ve kullanıcı modu için ayrıcalık düzeyi 3'ü (veya çalma 3) kullanır. Windows'un yalnızca iki seviyeyi kullanmasının nedeni , geçmişte desteklenen bazı donanım mimarilerinin (Compaq Alpha ve Silicon Graphics MIPS gibi) yalnızca iki ayrıcalık seviyesine sahip olmasıdır .

Bu, bir zamanlar Alpha ve MIPS destekli Windows anlamına mı geliyor?


49
İnanması zor olabilir, ancak Microsoft, dünyadaki en "açık mimarlık" şirketlerinden biriydi. Orijinal MS-DOS, onlarca farklı platform ve diğer işletim sistemiyle uyumluydu ve Windows da aynı şekilde tasarlandı. Excel, birçok farklı platformda çalışan sanal bir makinede üretildi. Bu bir tesadüf değildi - IBM PC (ve klonlar) fiilen bu kadar yaygın ve hızlı bir şekilde standart haline geldi ve Microsoft'un temel yazılımı sağlayan kişi olduğunu söyledi. Hangisini seçersiniz - tüm uygulamalarınızı çalıştırabilecek sistem mi, yoksa satıcınızı kilitlemiş olduğunuz sistem mi? :)
Luaan

13
Hem Alpha hem de MIPS üzerine Windows yükledim ama bu çok uzun zaman önceydi. Microsoft stajyeri iken işimden biri, geliştiricilerin masalarında sahip olmadığı donanım üzerinde Visual Basic test takımlarını çalıştırmaktı.
Eric Lippert

7
@Luaan - sadece "açık mimari" değil, aynı zamanda "açık işletim sistemi"! Başka bir zamanda, resmi olarak lisanslı Unix çeşitlerinin dünyadaki en yaygın yüklü Unix olduğunu açıklayabilir misiniz - Wikipedia'daki Xenix'i görün .
davidbak

4
Bugün bile, Windows x86 / x64 dışındaki mimarilerde çalışan, Windows için ARM aygıtlarında çalışan Windows sürümleri vardır.
TigerhawkT3

2
@Luaan Özellikle erken IBM PC klonları her zaman tam olarak IBM PC ile uyumlu olmadığı için çözülmesi gereken gerçek bir problemdi. O zamanlar, "% 100 IBM uyumluluğu" donanım satıcıları için bir satış noktasıydı . Bugün bu tür şeyleri kabul ediyoruz, ancak 1980'lerin ilk yarısında veya hiç garanti edilmedi. Microsoft , 1991'de piyasaya çıkan MS-DOS 5.0'dan önce işletim sistemi perakende pazarına gerçekten girmedi . Evet, Windows 3.0'ın çığır açan başarı öyküsünden bir yıl sonra.
CVn

Yanıtlar:


82

Microsoft , 1993 yılında Windows NT'nin yalnızca ilk 32 bit sürümü olarak yayımlanmıştı .

Windows NT, çok mimarili bir işletim sistemi olarak geliştirilmiştir. Başlangıçta, IA-32, DEC Alpha, MIPS ve PowerPC dahil olmak üzere farklı CPU mimarilerini destekledi.

Orijinal fikir, her platform için özel bir Donanım Soyutlama Katmanı (HAL) ile ortak bir kod tabanına sahip olmaktı. Ancak, daha sonra Windows 2000'de MIPS, Alpha ve PowerPC desteği bırakılmıştır .


7
IIRC Wikipedia sayfası, hangi mimarlıkların, kimin yaptığının ve neden piyasaya çıkmadıklarının detayları hakkında iyi bir primer içeriyor.
Journeyman Geek

13
Orijinal geliştirme platformunun i860 olduğuna inanıyorum. Bu, '386-isms'in tasarıma girmesini durdurmak için kasıtlı bir seçimdi. Bir süredir Microsoft, farklı mimariler için uygulamalar yayınladı; İ386, Alpha, MIPS ve PowerPC üzerinde Windows NT için üretilmiş Windows 6 için bir Word CD'sine sahibim.
Ed Avis

4
Alpha NT sistemlerimizde Microsoft'tan yazılım satın almaya çalıştığımı hatırlıyorum, İngiltere'deki Microsoft satış çalışanları Alpha CPU'nun ne olduğunu bilmiyorlardı. DEC bize ISS kadar ucuz olan makineleri verdi. Sonunda üzerlerine unix koyduk ve projeyi NT'ye taşımak için X-Koşulları olarak kullandık.
Ian Ringrose

4
“Orijinal fikir, her platform için özel bir Donanım Soyutlama Katmanı (HAL) ile ortak bir kod tabanına sahip olmaktı”, bu günlerde yanlış bir sonuç olacak olan gerçek bir HAL yokmuş gibi ses çıkarıyor. Bugünlerde bir Windows NT için, bugünlerde ARM'i de destekliyoruz ve yalnızca x86'yı destekleseniz bile, x86 (açıkçası en büyük olanı x64'tür) için geniş kapsamlı revizyonlar ve çeşitli işlemciler, anakartlar ve başka herhangi bir şey için hata düzeltmeleri var.
Voo

4
Sparc'a üçüncü parti bir liman vardı. Daha sonra, PowerPC desteği XBox360 için yeniden dirildi. Bundan kısa bir süre önce IA64 desteği eklendi. Bundan sonra, AMD64 desteği eklendi. En son eklenen ARM desteğidir. Orijinal geliştirme platformu i860 vardı; bu platform için hiçbir zaman serbest bırakılması amaçlanmadı, yalnızca gerçekleştirildi, çünkü taşınabilirliği sağlamak için "tuhaf" ve x86, PowerPC, MIPS ve Co'dan çok farklıydı.
Jörg W Mittag

46

Bildiğim kadarıyla bugün sadece 10 tanesi hala Windows 10 ile desteklendiği 8 temel mimarisi (ve bir takım alt değişkenleri) var.

Windows 1.0 - 3.11, Windows 95, 98 ve Millenium Edition

x86 (8086, 80186, 80286, 80386, 80486, Pentium, Pentium Pro, Pentium II, Pentium III, P4, Core, Core Duo, Core-I ve çeşitli Celeron ve Atom tasarımları dahil 16 bit ve 32 bit değişkenler.) Bu ayrıca çeşitli uyumlu AMD ve NEC işlemcileri içerir.

Windows CE

MIPS, x86, ARM (teşekkürler @ pjc50).
(CE'nin Alpha, PowerPC'de çalıştığından emin değilim.)

Windows NT

x86, x64 (veya amd64, her iki isim de kullanılır), MIPS, Alpha, IA32, IA64, PowerPC.
MIPS, Alpha ve PowerPC desteği Windows 2000'de düşürüldü. Itanium yalnızca Windows 2000 ile başlamıştı ve doğru hatırlıyorsam 2008 ve 64-bit (IA64) için Server 2008 ile 32 bit (IA32) düşürüldü. Yalnızca x86 (bazı özel netbook / tablet cihazlarla sınırlı) ve x64 şu anda hala Windows 10 için geçerlidir.

Windows Phone

ARM, (belki ayrıca MIPS?)

IoT için Windows 10

x64, ARM


2
Telefonlar için Windows 10 olarak Windows NT ARM destekler.
Tamoghna Chowdhury

16
"IA-32", yalnızca x64 / AMD64 gelene kadar Windows NT tarafından desteklenen x86 sürümü olan "32 bit x86" anlamına gelir. Muhtemelen x64 / AMD64, yalnızca x86'nın bir çeşididir, ancak Windows özellikle farklılıklarını ele almak için kapsamlı bir donanıma sahiptir. Öte yandan, "IA-64", Itanium yongalarını çalıştıran tamamen yeni 64 bit mimarisidir; 32-bit Itanium diye bir şey asla olmadı.
IMSoP

9
Windows CE, bir NT değişkeni ya da NT bağlantı noktası değildi . Oldukça farklı bir işlem mimarisi ve hafıza haritası da dahil olmak üzere kendine özgü ve farklı bir çekirdeği vardı. NT kod sürü edildi taşıdık OS, örneğin tüm ağ yığını ve çok başka çok bu siteye ve userland düzeyinde tabii ki, Windows API desteklenen ..
davidbak

7
Windows CE ayrıca Hitachi Super-H habercilerinin bazı türevlerini de kullandı. Meşhur bir örnek Sega Dreamcast (SH4), ancak Windows CE çalıştıran SH3'e dayanan bazı PDA'lar olduğunu da düşünüyorum.
Michael

3
Windows Phone bir pazarlama adıdır. WP7'ye kadar CE hattının bir parçasıydı, WP8 bir NT türevidir. Benzer şekilde, Windows 10 IOT da 3 nesil XBoxen gibi uyarlanmış bir NT çekirdeğidir.
MSalters

21

Windows XP 64bit ve Windows Server 2003-2008R2, Intel Itanium IA-64 mimarisini destekler.


15

2012 yılında piyasaya sürülen Windows Surface tabletleri 32 bit ARM mimarisini kullanıyordu , bu özel sürüme Windows RT adı verildi :

Aslında 32-bit ARM mimarisi (ARMv7) için inşa edilmiş bir Windows 8.x sürümüdür.

[...]

ARM tabanlı cihazların x86 cihazlara göre farklı mimarisi nedeniyle, Windows RT yazılım uyumluluğu sınırlamalarına sahiptir.

Windows RT durduruldu.

Kaynak: Wikipedia .


3

Windows 10 IoT Core , Raspberry Pi 3 gibi 32 bit ARM mimarilerinde (IA-32, ARMv7) çalışır. Yine de bazı sınırlamalar vardır.

Kaynaklar:


3

Pencereler NT hat yıllar boyunca çeşitli mimariler desteklemiştir.

MIPS ve Alpha 3.1'den 4.0'a kadar desteklendi (Alpha aslında Windows 2000 için bir sürüm adayı yaptı , ancak final sürümüne kadar gelmedi). PowerPC sadece 4.0 da görüldü.

IA64 (Itanium), Windows XP'de desteklenmiştir. Ayrıca sunucu hattında Sunucu 2003'ten Sunucu 2008 R2'ye desteklenmiştir.

Microsoft, Windows'u ARM'e taşıdı ancak daha sonra ortaya çıkan sistemleri çeşitli şekillerde yapay olarak sakladı. Windows RT (Windows 8’in ARM sürümü) sistem tamamen doluydu, ancak üçüncü taraf masaüstü uygulamaları kilitlendi. Windows 10'un çeşitli ARM modelleriyle masaüstünün tamamen gittiği görülüyor.


1

Windows NT (Windows RT, WP8, WP8.1 ve Telefonlar için Windows 10'da çekirdek olarak), ARM v7-A (32-bit) ve ARM v8-A (64-bit) (şu anda Telefonlar için Windows 10 Qualcomm Snapdragon 810 yonga seti ile birlikte Lumia 950 / 950XL, x86'ya ek olarak mimariye sahiptir (x86-64 (Windows AMD64), i386 / i586 / i686 (Windows x86) dahil). Bu, Alpha, MIPS, Itanium ve PowerPC gibi diğer cevaplarda belirtilen tarihsel olarak desteklenen mimarilere ek olarak.

Başka bir cevapta belirtildiği gibi, Win32 masaüstü uygulamaları, x86 mimarisi için derlenirlerse (çoğunlukla olduğu gibi) Windows NT'de ARM'de (yani, ARM emülasyonunda x86 olmadan) çalışamazlar. Bununla birlikte, @ user 2284570'te belirtildiği gibi, ARM yerel çalıştırılabilir dosyaları veya dinamik kitaplıkları yalnızca Windows NT'de ARM için (dağıtım ikili dosyaları) Microsoft tarafından dijital olarak imzalanmışlarsa, ARM yerel uygulamalarının 3. taraf geliştiricisinin dağıtımını engellerse, Windows NT'de çalıştırılabilir. (örneğin x86 veya daha önce desteklenen diğer mimarilere sahip olan politikadan farklı olarak). Microsoft, x86 hedefli Win32 uygulamalarını (Masaüstü Windows yazılımı) Windows for ARM'de öykünme yoluyla ikili düzeyde desteklememeyi seçti, çünkü öykünme için performans cezası, sıkı bir güç bütçesiyle düşük ve ideal ARM performansına karşı çok büyük olacaktır ).

Not: Burada bahsettiğim Windows API , .NET WINAPI ( yönetilen ) sürümü değil, Win32 yerel API'sidir . Uygulama uyumluluğu, burada görünmüyorsa kaynak düzeyinde uyumluluk değil, ikili düzey uyumluluk anlamına gelir.

Bununla birlikte, Windows RT platformunun ve şimdi Evrensel Windows Platformunun (UWP) ortaya çıkmasıyla, Windows için mimarlık-agnostik bir yazılım oluşturmak bir olasılık haline geldi (daha önce yazılımın Windows üzerinde farklı mimarilerde çalıştırılması için benzetilmesi veya yeniden derlenmesi gerekiyordu) .


MS, üçüncü taraf masaüstü uygulamalarının, yeniden derlenmiş olsalar bile koluna izin vermeyi reddetti. (Birisi atlamak için bir yol bulmuş olmaları gerçeği ile kanıtlandığı gibi) Bu tamamen yapay kısıtlama olduğu
plugwash

@plugwash Aslında, ikinci paragrafta ARM için derlenen masaüstü uygulamalarını çalıştırma kısıtlamalarının yapaylığından bahsettim. Lütfen onu oku.
Tamoghna Chowdhury 12:16

-1

Windows NT, MIPS ve Alpha yongalarında çalışırdı. NT4'ü bir Alfa'da çalıştırdım. VMS yerine NT'yi önyüklemek için farklı bir bellenimi güncellemeniz gerekiyordu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.