Apakah Windows pernah mendukung arsitektur perangkat keras selain x86?

66

Microsoft Windows Internals, Edisi ke-4 mengatakan:

Arsitektur prosesor Intel x86 menetapkan empat level privilege, atau ring, untuk melindungi kode sistem dan data agar tidak ditimpa baik secara tidak sengaja atau jahat oleh kode privilege yang lebih rendah. Windows menggunakan privilege level 0 (atau dering 0) untuk mode kernel dan privilege level 3 (atau ring 3) untuk mode pengguna. Alasan mengapa Windows hanya menggunakan dua level adalah karena beberapa arsitektur perangkat keras yang didukung di masa lalu (seperti Compaq Alpha dan Silicon Graphics MIPS) hanya menerapkan dua level privilege .

Apakah ini berarti Windows pernah mendukung Alpha dan MIPS?

xiaokaoy
sumber
49
Mungkin sulit dipercaya, tetapi Microsoft adalah salah satu perusahaan "arsitektur terbuka" di dunia. MS-DOS asli kompatibel dengan puluhan platform berbeda dan OS lainnya , dan Windows dirancang dengan nada yang sama. Excel dibangun di atas mesin virtual yang berjalan pada banyak platform berbeda. Ini bukan kebetulan - begitulah IBM PC (dan klon) menjadi standar de facto begitu luas dan cepat, dan bagaimana Microsoft yang menyediakan perangkat lunak dasar. Yang mana yang Anda pilih - sistem yang dapat menjalankan semua aplikasi Anda, atau yang membuat Anda vendor terkunci? :)
Luaan
13
Saya sendiri menginstal Windows pada Alpha dan MIPS tapi itu sudah lama sekali. Ketika saya masih seorang Microsoft magang salah satu pekerjaan saya adalah menjalankan tes Visual Basic pada perangkat keras yang tidak dimiliki pengembang di meja mereka.
Eric Lippert
7
@Luaan - tidak hanya "arsitektur terbuka" tetapi juga "OS terbuka"! Bagaimana lagi Anda dapat menjelaskan bahwa pada suatu waktu varian Unix resmi mereka berlisensi adalah Unix yang paling umum dipasang di dunia - lihat Xenix di Wikipedia .
davidbak
4
Bahkan hari ini, ada versi Windows yang berjalan pada arsitektur selain x86 / x64, yaitu Windows RT untuk perangkat ARM.
TigerhawkT3
2
@Luaan Itu juga masalah nyata yang perlu dipecahkan karena klon IBM PC awal tidak selalu sepenuhnya kompatibel dengan PC IBM. Kembali pada hari itu, "kompatibilitas IBM 100%" adalah titik penjualan untuk vendor perangkat keras. Kita menerima hal-hal semacam itu begitu saja hari ini, tetapi pada paruh pertama tahun 1980-an, semuanya tidak dijamin sama sekali. Microsoft tidak benar-benar pindah ke pasar sistem operasi ritel sebelum MS-DOS 5.0 yang melanda pasar pada tahun 1991. Ya, setahun setelah kisah sukses terobosan Windows 3.0.
CVn

Jawaban:

82

Microsoft merilis Windows NT 3.1 pada tahun 1993 sebagai versi murni Windows 32-bit.

Windows NT dikembangkan sebagai sistem operasi multi-arsitektur. Awalnya mendukung berbagai arsitektur CPU, termasuk IA-32, DEC Alpha, MIPS, dan PowerPC.

Ide aslinya adalah memiliki basis kode umum dengan Layer Abstraksi Perangkat Keras (HAL) khusus untuk setiap platform. Namun, dukungan untuk MIPS, Alpha, dan PowerPC kemudian dijatuhkan di Windows 2000 .

jcbermu
sumber
7
IIRC halaman Wikipedia memiliki primer yang layak pada detail arsitektur mana, siapa yang melakukannya, dan mengapa mereka tidak datang ke pasar.
Journeyman Geek
13
Saya percaya bahwa platform pengembangan asli adalah i860. Ini adalah pilihan yang disengaja untuk menghentikan '386-isme' masuk ke desain. Untuk sementara waktu Microsoft juga merilis aplikasi untuk berbagai arsitektur; Saya memiliki CD Word untuk Windows 6 yang dibuat untuk Windows NT di i386, Alpha, MIPS dan PowerPC.
Ed Avis
4
Saya ingat mencoba membeli perangkat lunak dari Microsoft yang dijalankan pada sistem Alpha NT kami, para tenaga penjualan Microsoft di Inggris tidak tahu apa itu CPU Alpha. DEC memberi kami mesin yang sangat murah sebagai ISP, pada akhirnya kami hanya menempatkan unix pada mereka dan menggunakannya sebagai X-Ketentuan daripada untuk proyek untuk port ke NT.
Ian Ringrose
4
"Gagasan awalnya adalah untuk memiliki basis kode umum dengan Layer Abstraksi Perangkat Keras (HAL) kustom untuk setiap platform" membuatnya terdengar seperti tidak ada HAL aktual di sekitar hari ini, yang akan menjadi salah. Untuk satu Windows NT hari ini juga mendukung ARM hari ini dan bahkan jika Anda hanya mendukung x86 ada banyak revisi untuk x86 (yang terbesar jelas menjadi x64) dan perbaikan bug untuk beragam prosesor, mainboard dan apa pun.
Voo
4
Ada juga port pihak ketiga ke Sparc. Kemudian, dukungan PowerPC dibangkitkan untuk XBox360. Sesaat sebelum itu, dukungan IA64 ditambahkan. Setelah itu, dukungan AMD64 ditambahkan. Tambahan terbaru adalah dukungan ARM. The original platform pengembangan adalah i860; itu tidak pernah dimaksudkan untuk dirilis untuk platform itu, itu dilakukan murni karena itu "aneh" dan secara maksimal berbeda dari x86, PowerPC, MIPS, dan Co, untuk memastikan portabilitas.
Jörg W Mittag
46

Sejauh yang saya tahu ada 8 arsitektur dasar (dan sejumlah sub-varian) yang hanya 2 yang masih didukung hari ini dengan Windows 10.

Windows 1.0 hingga 3.11, Windows 95, 98 dan Millenium Edition

x86 (varian 16 bit dan 32 bit, termasuk 8086, 80186, 80286, 80386, 80486, Pentium, Pentium Pro, Pentium II, Pentium III, P4, Core, Core Duo, Core-I dan berbagai desain Celeron dan Atom.) juga mencakup berbagai AMD dan NEC CPU yang kompatibel.

Windows CE

MIPS, x86, ARM (terima kasih @ pjc50).
(Tidak yakin apakah CE pernah berlari pada Alpha, PowerPC.)

Windows NT

x86, x64 (atau amd64, kedua nama digunakan), MIPS, Alpha, IA32, IA64, PowerPC.
Dukungan untuk MIPS, Alpha dan PowerPC dijatuhkan di Windows 2000. Itanium adalah server hanya dimulai dengan Windows 2000 dan 32-bit (IA32) dijatuhkan untuk 2008 dan 64-bit (IA64) dengan Server 2012 jika saya ingat dengan benar. Hanya x86 (terbatas pada beberapa perangkat netbook / tablet khusus) dan x64 saat ini masih berlaku untuk Windows 10.

Windows Phone

ARM, (mungkin juga MIPS?)

Windows 10 untuk IoT

x64, ARM

Tonny
sumber
2
Windows NT sebagai Windows 10 untuk ponsel mendukung ARM.
Tamoghna Chowdhury
16
"IA-32" hanya berarti "32-bit x86", yang merupakan satu-satunya versi x86 yang didukung oleh Windows NT hingga x64 / AMD64 hadir. Bisa dibilang x64 / AMD64 hanyalah varian dari x86, meskipun Windows memiliki tooling luas khusus untuk menangani perbedaannya. "IA-64", di sisi lain, adalah arsitektur 64-bit yang benar-benar baru yang ditenagai chip Itanium; tidak pernah ada yang namanya Itanium 32-bit.
IMSoP
9
Windows CE bukan varian NT, atau port NT. Itu sendiri kernel yang sangat unik dan berbeda, termasuk arsitektur proses dan peta memori yang sangat berbeda. Banyak kode NT di- port -kan dari OS, mis., Seluruh tumpukan jaringan dan banyak lagi, dan tentu saja pada level userland mendukung Windows API ..
davidbak
7
Windows CE juga berjalan pada beberapa varian pocessors Hitachi Super-H. Contoh terkenal adalah Sega Dreamcast (SH4), tapi saya juga berpikir ada beberapa PDA berdasarkan SH3 yang menjalankan Windows CE.
Michael
3
Windows Phone adalah nama pemasaran. Hingga WP7 itu adalah bagian dari garis CE, WP8 adalah turunan NT. Demikian pula Windows 10 IOT juga merupakan kernel NT yang dirancang khusus, seperti juga generasi 3 XBoxen.
MSalters
21

Windows XP 64bit dan Windows Server 2003-2008R2 mendukung arsitektur Intel Itanium IA-64.

JamesRyan
sumber
15

Tablet Windows Surface yang dirilis pada 2012 menggunakan arsitektur ARM 32-bit , versi spesifik ini bernama Windows RT :

Ini pada dasarnya adalah edisi Windows 8.x dibangun untuk arsitektur ARM 32-bit (ARMv7).

[...]

Karena arsitektur yang berbeda dari perangkat berbasis ARM dibandingkan dengan perangkat x86, Windows RT memiliki keterbatasan kompatibilitas perangkat lunak.

Windows RT telah dihentikan.

Sumber: Wikipedia .

AL
sumber
3

Windows 10 IoT Core berjalan pada arsitektur ARM 32-bit (IA-32, ARMv7), seperti Raspberry Pi 3. Ia hadir dengan batasan-batasan tertentu.

Sumber:

Ghanima
sumber
3

The windows NT baris telah mendukung berbagai arsitektur selama bertahun-tahun.

MIPS, dan Alpha didukung dari 3.1 hingga 4.0 (Alpha benar-benar membuatnya sejauh kandidat rilis untuk Windows 2000 , tetapi tidak sampai ke rilis final). PowerPC hanya terlihat di 4.0.

IA64 (Itanium) didukung di Windows XP. Itu juga didukung di garis server dari Server 2003 ke Server 2008 R2.

Microsoft telah mem-porting Windows ke ARM tetapi kemudian secara artifisial melumpuhkan sistem yang dihasilkan dengan berbagai cara. Dengan windows RT (versi ARM Windows 8) sistemnya cukup lengkap, tetapi aplikasi desktop pihak ketiga dikunci. Dengan berbagai varian ARM Windows 10 desktop tampaknya hilang sepenuhnya.

plugwash
sumber
1

Windows NT (sebagai kernel di Windows RT, WP8, WP8.1 dan Windows 10 untuk Ponsel) mendukung ARM v7-A (32-bit) dan ARM v8-A (64-bit) (Windows 10 untuk Ponsel yang saat ini ada di Arsitektur Lumia 950 / 950XL dengan chipset Qualcomm Snapdragon 810) saat ini selain x86 (termasuk x86-64 (Windows AMD64), i386 / i586 / i686 (Windows x86)). Ini merupakan tambahan untuk arsitektur yang didukung secara historis yang disebutkan dalam jawaban lain seperti Alpha, MIPS, Itanium dan PowerPC.

Seperti dicatat dalam jawaban lain, aplikasi desktop Win32 tidak dapat berjalan secara native pada Windows NT pada ARM (yaitu, tanpa x86 pada emulasi ARM) jika mereka dikompilasi untuk arsitektur x86 (seperti kebanyakan). Namun, seperti yang disebutkan oleh @user 2284570, executable asli ARM atau perpustakaan dinamis dapat berjalan di Windows NT untuk ARM hanya jika mereka (binari distribusi) telah ditandatangani secara digital oleh Microsoft, yang kantornya menghambat distribusi pengembang pihak ketiga dari aplikasi ARM asli (tidak seperti kebijakan dengan x86 atau arsitektur lain yang didukung sebelumnya misalnya). Microsoft memilih untuk tidak mendukung aplikasi Win32 yang ditargetkan x86 (perangkat lunak Windows Desktop) pada tingkat biner melalui emulasi pada Windows untuk ARM karena penalti kinerja untuk emulasi akan sangat besar dan sepenuhnya bertentangan dengan ideal kinerja ARM dalam anggaran daya yang ketat (TDP rendah) ).

Catatan: Windows API yang saya rujuk di sini adalah API asli Win32 , bukan versi .NET WINAPI ( terkelola ). Kompatibilitas aplikasi mengacu pada kompatibilitas tingkat biner di sini, bukan kompatibilitas tingkat sumber, jika itu tidak jelas.

Namun, dengan munculnya platform Windows RT dan sekarang Universal Windows Platform (UWP), membangun perangkat lunak arsitektur-agnostik untuk Windows telah menjadi suatu kemungkinan (sebelumnya perangkat lunak harus ditiru atau disusun ulang untuk dijalankan pada Windows pada berbagai arsitektur) .

Tamoghna Chowdhury
sumber
MS menolak untuk mengizinkan aplikasi desktop pihak ketiga di tangan bahkan jika mereka dikompilasi ulang untuk itu. Ini adalah pembatasan murni buatan (sebagaimana dibuktikan oleh fakta bahwa seseorang menemukan cara untuk memotongnya)
plugwash
@plugwash Saya sebenarnya telah menyebutkan kepalsuan dari pembatasan menjalankan aplikasi desktop yang dikompilasi untuk ARM di paragraf kedua. Tolong baca itu.
Tamoghna Chowdhury
-1

Windows NT digunakan untuk berjalan pada MIPS dan chip Alpha. Saya sudah menjalankan NT4 pada Alpha. Anda harus mem-flash firmware berbeda untuk mem-boot NT alih-alih VMS.

cerdik
sumber