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?
windows
privileges
x86
mips
xiaokaoy
sumber
sumber
Jawaban:
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 .
sumber
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
sumber
Windows XP 64bit dan Windows Server 2003-2008R2 mendukung arsitektur Intel Itanium IA-64.
sumber
Tablet Windows Surface yang dirilis pada 2012 menggunakan arsitektur ARM 32-bit , versi spesifik ini bernama Windows RT :
Windows RT telah dihentikan.
Sumber: Wikipedia .
sumber
Windows 10 IoT Core berjalan pada arsitektur ARM 32-bit (IA-32, ARMv7), seperti Raspberry Pi 3. Ia hadir dengan batasan-batasan tertentu.
Sumber:
sumber
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.
sumber
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) .
sumber
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.
sumber