Windows가 x86 이외의 하드웨어 아키텍처를 지원 한 적이 있습니까?


66

Microsoft Windows 내부, 4 판 :

Intel x86 프로세서의 아키텍처는 시스템 코드와 데이터가 권한이 낮은 코드로 실수로 또는 악의적으로 덮어 쓰이지 않도록 보호하기 위해 4 가지 권한 수준 또는 링을 정의합니다. Windows는 커널 모드에 권한 수준 0 (또는 링 0)을 사용하고 사용자 모드에 권한 수준 3 (또는 링 3)을 사용합니다. Windows가 두 가지 수준 만 사용하는 이유 는 과거에 지원 되었던 일부 하드웨어 아키텍처 (예 : Compaq Alpha 및 Silicon Graphics MIPS)가 두 가지 권한 수준 만 구현했기 때문 입니다.

이것은 Windows가 알파 및 MIPS를 한 번 지원했음을 의미합니까?


49
믿기 ​​어려울 수도 있지만 Microsoft는 세계에서 가장 "오픈 아키텍처"회사 중 하나였습니다. 원래의 MS-DOS는 수십 개의 다른 플랫폼 및 기타 OS 와 호환 되었으며 Windows는 같은 맥락에서 설계되었습니다. Excel은 다양한 플랫폼에서 실행되는 가상 컴퓨터에서 작성되었습니다. 이것은 우연이 아니 었습니다. IBM PC (및 클론)가 사실상의 표준으로 널리 보급 된 방식과 Microsoft가 기본 소프트웨어를 공급 한 표준이 된 방식입니다. 모든 응용 프로그램을 실행할 수있는 시스템 또는 공급 업체가 잠긴 시스템을 선택하십시오. :)
Luaan

13
알파와 MIPS 모두에 Windows를 설치했지만 오래 전에 오래되었습니다. 내가 Microsoft 인턴 일 때 내 업무 중 하나는 개발자가 책상에 갖지 않은 하드웨어에서 Visual Basic 테스트 스위트를 실행하는 것이 었습니다.
Eric Lippert

7
@Luaan- "오픈 아키텍처"뿐만 아니라 "오픈 OS"! 공식 라이센스 라이센스 유닉스 변종이 세계에서 가장 일반적으로 설치된 유닉스 라고 한 번 더 설명 할 수있는 방법 은 Wikipedia의 Xenix를 참조하십시오 .
davidbak

4
오늘날에도 ARM 장치 용 Windows RT 인 x86 / x64 이외의 아키텍처에서 실행되는 Windows 버전이 있습니다.
TigerhawkT3

2
@Luaan 특히 초기 IBM PC 클론이 항상 IBM PC와 완벽하게 호환되는 것은 아니기 때문에 해결해야 할 문제였습니다. 당시에는 "100 % IBM 호환성"이 하드웨어 공급 업체 의 판매 지점 이었습니다 . 우리는 오늘날 그런 종류의 것들을 당연한 것으로 생각하지만 1980 년대 상반기에는 전혀 보장되지 않았습니다. 마이크로 소프트는 1991 년 시장을 강타한 MS-DOS 5.0 이전의 운영체제 소매 시장으로 실제로 진출하지 않았다 . 그렇다. Windows 3.0의 획기적인 성공 사례 이후 1 년이 걸렸다.
CVn

답변:


82

Microsoft 는 1993 년 최초의 32 비트 버전의 Windows로 Windows NT 3.1 을 출시했습니다 .

Windows NT는 다중 아키텍처 운영 체제로 개발되었습니다. IA-32, DEC Alpha, MIPS 및 PowerPC를 포함한 다양한 CPU 아키텍처를 처음 지원했습니다.

원래 아이디어는 각 플랫폼에 대한 사용자 정의 HAL (Hardware Abstraction Layer)이있는 공통 코드 기반을 갖는 것이 었습니다. 그러나 MIPS, Alpha 및 PowerPC에 대한 지원은 나중에 Windows 2000에서 제거되었습니다 .


7
IIRC Wikipedia 페이지에는 어떤 아키텍처의 세부 사항, 누가 그 작업을 수행했는지, 왜 시장에 출시되지 않았는 지에 대한 적절한 입문서가 있습니다.
Journeyman Geek

13
원래 개발 플랫폼은 i860이라고 생각합니다. 이것은 '386-isms'이 디자인에 들어가는 것을 막기위한 의도적 인 선택이었습니다. 한동안 Microsoft는 다른 아키텍처를위한 응용 프로그램도 출시했습니다. i386, Alpha, MIPS 및 PowerPC에 Windows NT 용으로 작성된 Windows 6 용 Word CD가 있습니다.
Ed Avis

4
Alpha NT 시스템에서 Microsoft 소프트웨어를 구매하려고했는데 영국의 Microsoft 영업 사원은 Alpha CPU가 무엇인지 알지 못했습니다. DEC는 우리에게 ISP로서 매우 저렴한 기계를 주었고, 결국 우리는 유닉스를 올려 놓고 프로젝트를 NT로 포팅하는 대신 X-Terms로 사용했습니다.
Ian Ringrose

4
"원래의 아이디어는 각 플랫폼에 대해 사용자 정의 HAL (Hardware Abstraction Layer)이있는 공통 코드 기반을 갖는 것이 었습니다"는 요즘 실제 HAL이없는 것처럼 들리는데, 이는 잘못된 것입니다. 요즘 하나의 Windows NT에서는 요즘 ARM을 지원하며 x86 만 지원하더라도 x86 (가장 큰 것은 x64 임)에 대한 다양한 개정판과 다양한 프로세서, 메인 보드 및 기타 사항에 대한 버그 수정이 있습니다.
Voo

4
Sparc에 대한 타사 포트도있었습니다. 나중에 XBox360에 대한 PowerPC 지원이 부활되었습니다. 그 직전에 IA64 지원이 추가되었습니다. 그 후, AMD64 지원이 추가되었습니다. 최신 추가 사항은 ARM 지원입니다. 원래 개발 플랫폼 I860이었다; 이식성을 보장하기 위해 x86, PowerPC, MIPS 및 Co와 "이상하게"다르고 최대로 다르기 때문에 해당 플랫폼 용으로 릴리스되지 않았습니다.
Jörg W Mittag

46

내가 아는 한 8 개의 기본 아키텍처 (및 여러 하위 변형)가 있으며 현재 Windows 10에서는 2 개만 지원됩니다.

Windows 1.0 ~ 3.11, Windows 95, 98 및 Millenium Edition

x86 (8086, 80186, 80286, 80386, 80486, Pentium, Pentium Pro, Pentium II, Pentium III, P4, Core, Core Duo, Core-I 및 다양한 Celeron 및 Atom 설계를 포함한 16 비트 및 32 비트 변형) 또한 다양한 호환 가능한 AMD 및 NEC CPU가 포함됩니다.

윈도우 CE

MIPS, x86, ARM (@ pjc50 덕분에).
CE가 Alpha, PowerPC에서 실행되었는지 확실하지 않습니다.

윈도우 NT

x86, x64 (또는 amd64, 두 이름 모두 사용됨), MIPS, Alpha, IA32, IA64, PowerPC.
MIPS, Alpha 및 PowerPC에 대한 지원은 Windows 2000에서 중단되었습니다. Itanium은 Windows 2000으로 만 시작된 서버였으며 올바르게 호출하면 2008 년에는 32 비트 (IA32)가, Server 2012에서는 64 비트 (IA64)가 삭제되었습니다. x86 (일부 특수 넷북 / 태블릿 장치로 제한) 및 x64 만 현재 Windows 10에 유효합니다.

윈도우 폰

ARM (MIPS? 일 수도 있음)

IoT 용 Windows 10

x64, ARM


2
전화 용 Windows 10 인 Windows NT는 ARM을 지원합니다.
Tamoghna Chowdhury

16
"IA-32"는 "32 비트 x86"을 의미하며 x64 / AMD64가 나올 때까지 Windows NT에서 지원하는 유일한 x86 버전입니다. 틀림없이 x64 / AMD64는 x86의 변형 일 뿐이지 만 Windows는 특히 차이점을 처리하기위한 광범위한 도구를 갖추고 있습니다. 반면 "IA-64"는 Itanium 칩을 구동하는 완전히 새로운 64 비트 아키텍처입니다. 32 비트 Itanium과 같은 것은 없었습니다.
IMSoP

9
Windows CE는 NT 변형 또는 NT 포트 가 아닙니다 . 상당히 다른 프로세스 아키텍처와 메모리 맵을 포함하여 매우 독특하고 다른 커널을 가지고있었습니다. 예를 들어 전체 네트워크 스택 등을
비롯하여

7
Windows CE는 Hitachi Super-H 가공품의 일부 변종에서도 실행되었습니다. 유명한 예는 Sega Dreamcast (SH4)이지만 Windows CE를 실행하는 SH3 기반 PDA도 있다고 생각합니다.
Michael

3
Windows Phone은 마케팅 이름입니다. WP7까지는 CE 라인의 일부였으며 WP8은 NT 파생 상품입니다. 마찬가지로 Windows 10 IOT도 3 세대 XBoxen과 마찬가지로 맞춤형 NT 커널입니다.
MSalters

21

Windows XP 64 비트 및 Windows Server 2003-2008R2는 Intel Itanium IA-64 아키텍처를 지원합니다.


15

2012 년에 출시 된 Windows Surface 태블릿은 32 비트 ARM 아키텍처를 사용 했으며이 특정 버전의 이름은 Windows RT입니다 .

기본적으로 32 비트 ARM 아키텍처 (ARMv7) 용으로 제작 된 Windows 8.x 버전입니다.

[…]

x86 장치와 비교하여 ARM 기반 장치의 아키텍처가 다르기 때문에 Windows RT에는 소프트웨어 호환성 제한이 있습니다.

Windows RT가 중단되었습니다.

출처 : 위키 백과 .



3

윈도우 NT의 라인은 수년에 걸쳐 다양한 아키텍처를 지원하고있다.

MIPS 및 Alpha 는 3.1에서 4.0까지 지원되었습니다 (Alpha는 실제로 Windows 2000 의 릴리스 후보까지 만들었지 만 최종 릴리스에서는 만들지 않았습니다). PowerPC는 4.0에서만 나타났습니다.

IA64 (Itanium)는 Windows XP에서 지원되었습니다. Server 2003에서 Server 2008 R2까지의 서버 라인에서도 지원되었습니다.

Microsoft는 Windows를 ARM으로 이식했지만 결과 시스템을 다양한 방식으로 인위적으로 손상 시켰습니다. Windows RT (ARM 버전의 Windows 8)를 사용하면 시스템이 거의 완성되었지만 타사 데스크톱 앱이 잠겼습니다. Windows 10의 다양한 ARM 변형을 사용하면 데스크톱이 완전히 사라진 것 같습니다.


1

Windows NT (Windows RT, WP8, WP8.1 및 전화 용 Windows 10의 커널)는 ARM v7-A (32 비트) 및 ARM v8-A (64 비트) (현재 전화의 Windows 10 x86 (x86-64 (Windows AMD64), i386 / i586 / i686 (Windows x86) 포함) 외에 현재 Qualcomm Snapdragon 810 칩셋을 갖춘 Lumia 950 / 950XL 아키텍처. 이것은 Alpha, MIPS, Itanium 및 PowerPC와 같은 다른 답변에서 언급 된 역사적으로 지원되는 아키텍처에 추가됩니다.

다른 답변에서 언급했듯이 Win32 데스크톱 앱은 x86 아키텍처 용으로 컴파일 된 경우 ARM의 Windows NT (예 : ARM 에뮬레이션의 x86없이)에서 기본적으로 실행될 수 없습니다. 그러나 @user 2284570에서 언급 한 것처럼 ARM 네이티브 실행 파일 또는 동적 라이브러리는 Microsoft에서 배포 서명이 디지털 서명 된 경우에만 Windows NT에서 ARM 용 Windows NT에서 실행될 수 있습니다. (예를 들어 x86 또는 다른 이전에 지원되는 아키텍처를 가진 정책과 달리). 마이크로 소프트는 에뮬레이션에 대한 성능 페널티가 엄청나고 전력 소비가 적은 ARM (예를 들어 TDP가 낮음)에 비해 ARM에 대해 완벽하게 반대하기 때문에 x86 대상 Win32 앱 (데스크톱 Windows 소프트웨어)을 Windows 용 ARM에 대한 에뮬레이션을 통해 이진 수준에서 지원하지 않기로 선택했습니다. ).

참고 : 여기서 참조하는 Windows API 는 .NET WINAPI ( managed ) 버전이 아닌 Win32 기본 API 입니다. 앱 호환성은 명백하지 않은 경우 소스 수준 호환성이 아닌 바이너리 수준 호환성을 의미합니다.

그러나 Windows RT 플랫폼과 UWP (Universal Windows Platform)의 출현으로 Windows 용 아키텍처 인식 소프트웨어 구축이 가능해졌습니다 (이전에는 다른 아키텍처의 Windows에서 실행되도록 소프트웨어를 에뮬레이션 또는 재 컴파일해야 함). .


MS는 재 컴파일 한 경우에도 타사 데스크톱 앱을 사용하지 못하게했습니다. 이것은 순수하게 인공적인 제한이었다 (누군가 그것을 우회 할 수있는 방법을 찾았다는 사실에 의해 입증 됨)
plugwash

@plugwash 사실 두 번째 단락에서 ARM 용으로 컴파일 된 데스크톱 앱 실행에 대한 제한의 인위 성을 언급했습니다. 읽어주세요.
Tamoghna Chowdhury

-1

Windows NT는 MIPS 및 Alpha 칩에서 실행되었습니다. 알파에서 NT4를 실행했습니다. VMS 대신 NT를 부팅하려면 다른 펌웨어를 플래시해야했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.