Windows 64bit Computing에 대한 오해 혹은 잘못된 상식

clip_image002

[오해]

Windows는 진정한 64bit Computing을 할 수 없다.

_혹은_

x64 Processor만 있으면 64bit 컴퓨팅이 가능하다.

X86 Processor에 64bit Windows를 설치하면 64bit 컴퓨팅이 가능하다.

x64 Processor에 64bit Windows를 설치하면 어떤 응용프로그램이든 64bit 컴퓨팅이 가능하다.

[답변]

한번쯤은 Windows 64bit 컴퓨팅에 대해서 위와 같은 궁금증이 있으셨을 거라 믿습니다. 그럼 Windows 64bit Computing에 대한 잘못된 오해 혹은 편견을 벗겨 보도록 하겠습니다. (여기서 설명 드리는 내용은 x64뿐만 아니라 Itanium Processor도 포함됩니다)

x64가 진정한 64bit computing이 아니라는 오해는 환경적으로 64bit computing이 가능하게 구성되어 있느냐 혹은 아니냐의 차이에 의한 것입니다. X64가 진정한 64bit computing을 하기 위해서는 ‘X64 Processor + Windows x64 edition + 64bit Application‘ 환경이어야 합니다.

64bit processor에 64bit OS가 설치되어야 실질적으로 64bit computing하기 위한 리소스(메모리 2TB 사용 가능) 환경을 만들 수 있고 여기에 이 64bit 리소스를 활용할 수 있는 64bit Application(대용량 메모리를 사용할 수 있도록 설계된)이 설치되어야 진정한 64bit Computing이라 할 수 있습니다. 예를 들어 ‘x64 Processor + Windows Server 2003 x64 edition + x64 SQL Server 2005’이라면 64bit Computing을 하는 것입니다.

즉 Processor + OS + Application이 64비트를 지원해야 완전한 64bit Computing이 가능합니다. 64bit computing의 핵심이라 할 수 있는 확장된 최대 사용메모리를 사용하기 위해서는 위 3가지 조건을 모두 만족해야 합니다. 만약 세가지중 한가지라도 64bit를 지원하지 않는다면 진정한 64bit computing을 할 수 없습니다.

(예)

x64 Processor + x64 Windows + 64bit application => 64bit Computing

x64 Processor + x64 Windows + 32bit application => 해당 application 단에서 WOW64를 이용한 32bit Computing

x64 Processor + x86 Windows + 32bit application => OS단에서 32bit Computing

x86 Processor + x64 Windows + 64bit application => 불가능(Windows가 설치 조차 되지 않습니다)

x64에서 32bit 응용프로그램이 구동 될 수 있는 이유는 x64에서는 WOW64 라는 subsystem을 이용하여 일종의 시뮬레이터와 같이 32비트 응용프로그램을 구동합니다. 이런 경우 32bit Application은 32bit Computing을 하게 되고 하나의 Subsystem을 거치기 때문에 성능도 떨어지게 됩니다 또한 경우에 따라서 정상적으로 구동하지 않는 경우도 있을 수 있습니다.