64-bit Windows ; 언제, 그리고 왜 써야 할까??

백승주 / .NET Advisor Group, Windows Server System - Exchange Server MVP, 웹타임 컨설턴트

요즘같이 컴퓨터가 빠르게 변화하는 적이 없었던 것 같습니다. 매일매일 많은 기술이 쏟아져 나오고 있고, 또 업그레이드되고 있죠. 그 중, 필자가 가장 많이 받는 질문 중 하나가 '지금이 64-bit로의 도입에 최적기입니까?'가 바로 그것입니다.

64-bit와 32-bit?!

16-bit에서 32-bit로 넘어가는 열풍이 불기 시작한 것이 Microsoft 제품 중에서는 Windows 95가 출시된 이후가 아닐까 합니다. 벌써 64-bit가 이슈화되고 있으니, 128-bit 시대도 머지않은 것으로 보입니다. 이 Bit라는 것은 CPU가 처리하는 데이터의 최소 단위인 '레지스터'의 크기가 몇 Bit인지에서 나온 말입니다.

10010101011010100101010111011010(32bit) +
00101001000101010001010010010100(32bit)

1001010101101010010101011101101000101001000101010001010010010100(64bit)

당연히, 비트수가 클수록 처리할 수 있는 대역폭을 가지고 있고, 이에 더 많은 데이터를 처리할 수 있게 됩니다. 많이들 드는 비유로 빵집을 들 수 있는데, 32-bit 빵집은 빵굽는 틀이 32개고, 64-bit 빵집은 빵굽는 틀이 64개라는 것입니다. 한번에 만들어 낼 수 있는 빵의 갯수가 확연히 차이가 납니다. 이 예제에선 2배의 성능이 나오겠지만, 실제로 그정도까진 아닙니다. 확실한 것은 32-bit에 비해 64-bit는 성능상으로나, 처리량으로나 더 월등하다는 것이죠.

운영 체제적인 측면을 살펴볼까요? 32-bit는 2의 32승, 4294967296BYTE = 4194304KB = 4096MB, 64-bit는 2의 64승, 18446744073709551616BYTE, 18EB (1EB = 1000TB)까지의 메모리양을 처리할 수 있습니다. 32-bit Windows가 처리할 수 있는 가상 메모리의 크기는 4GB까지입니다. Enterprise Edition 제품군의 경우 PAE, AWE 기술로 이 이상을 사용할 수 있지만, 대부분의 응용 프로그램은 4GB의 아키텍쳐상의 제한으로 그 이상을 사용할 수 없습니다. 4GB이상이 필요한데, Bit의 한계상 메모리를 추가하지 못하고(Scale-Up), 머신을 분리해야 하게 됩니다.(Scale-Out)

4GB라는 메모리의 크기가 다소 크게 느껴질 수도 있겠지만, 기업 환경에서 4GB의 메모리는 결코 큰 메모리가 아닙니다. 또한 개인 사용자도 사용 성향에 따라 더 큰 메모리를 요구하고 있고(게임, 멀티미디어등), 일반 데스크톱의 내장된 기본 메모리의 크기도 시간이 흐를수록 커지고 있습니다. 이에 64-bit 환경이 필요하게 되었습니다. 또한 64-bit가 대세가 되어가고 있다는 것이죠.

<표1. 32-bit와 64-bit의 비교>

<표1. 32-bit와 64-bit의 비교>

64-bit 환경은 두가지 측면으로 나누어져 있습니다. 한가지는 Intel의 Itanium™과 x64라고 알려진 Intel의 EM64T, AMD의 AMD64 프로세서로 나누어집니다.

Itanium™와 x64는 크게는 모두 64-bit지만 정확하게는 틀립니다. Itanium™는 Native 64-bit만을 지원하며, x64는 32-bit와 64-bit를 모두 지원합니다. 이에, 호환성적인 측면은 x64가 더 나으며, Itanium™의 경우엔 하이-엔드급 64-bit 마켓에 더 적절합니다. IA64는 64-bit만 작동한다고 생각하실 수 있겠지만, Itanium™에 설치된 64-bit 운영 체제에서 32-bit 응용 프로그램을 사용할 수 있습니다.(물론 Itanium™에 32-bit 운영 체제는 설치가 불가능합니다. - x64는 32-bit 운영 체제도 설치가 가능합니다.)

<그림 1. x86, x64, IA64에서의 지원 운영 체제, 응용 프로그램>

그림에서 보실 수 있듯이, 64-bit Windows에서 32-bit 응용 프로그램이 작동합니다. Itanium도 조금은 다른 방식이지만 32-bit 응용 프로그램을 작동시켜 줍니다.

<그림 2. Itanium의 Bit별 응용 프로그램 처리 아키텍쳐>

64-bit Windows를 쓰시더라도, 내부적인 WOW64가 이를 모두 64-bit 운영 체제에 맞게 에뮬레이션시켜주며, 실제 응용 프로그램은 32-bit와 동일한 환경에서 작동하게 됩니다. x64의 경우 이를 다이렉트로 실행하게 되지만, Itanium의 경우엔 에뮬레이션을 거치게 됩니다. 이러한 이유로 32-bit에서 64-bit로 넘어가는 이 시기엔 x64가 더 적합하다고 말하는 분들도 계십니다.

<그림 3. x64 아키텍쳐>

<그림 4. IA64 아키텍쳐>

<그림 5. Bit별 운영 체제의 포지션>

<그림 6. Windows Server 2003 x64 버전의 기본 데스크톱>

Windows 32 on Windows 64 (WOW64)

64-bit를 염두에 두고 있는 많은 사용자들은 기존에 사용하던 32-bit 응용 프로그램도 함께 사용할 수 있는지가 가장 궁금하실 것입니다. 이에 대한 해결을 WOW64가 해주게 됩니다.

WOW64는 64-bit Windows에 있는 32-bit Windows 에뮬레이션 계층입니다. 64-bit Windows의 일부로 설치되고, 주 목적은 Windows 32-bit 응용 프로그램에 대한 호환성입니다. 64-bit Windows 시스템은 64-bit와 32-bit 시스템 파일을 설치하고 등록합니다. 64-bit Windows가 설치된 후, 사용자는 32-bit Windows 응용 프로그램을 동작시킬 수 있어야 합니다.

32-bit 아키텍쳐상 제한은 여전히 적용됩니다. 따라서 주소 공간은 2GB로 제한됩니다. 그렇지만 64-bit 시스템은 4GB가 사용가능하고, 이에 32-bit 응용 프로그램을 Large-Address-Aware와 함께 컴파일한다면, 응용 프로그램은 4GB의 가상 메모리를 사용할 수 있게 됩니다. 이전의 32-bit 시스템에서 Large-Address-Aware 옵션과 함께 컴파일하게 되면 3GB의 가상 메모리를 접근할 수 있게 됩니다.

<그림 7. WOW64>

<그림 8. 64-bit 운영 체제 작업 관리자>

- *32가 붙어있고 이는 WOW64에서 작동중임을 의미

드라이버 - 해결되어야 할 과제.

64-bit Windows에서 시급히 풀어야할 숙제는 드라이버입니다. 64-bit 환경에서는 기존 32-bit 드라이버는 사용할 수 없습니다. 64-bit 프로세서, 64-bit 운영 체제가 나왔지만, 64-bit 드라이버를 가진 것은 아닙니다. 물론 64-bit 운영 체제 설치본에 기존 32-bit보다 많은 드라이버를 가지고 있지만, 이후 출시된 하드웨어라던가, 글로벌하게 사용하지 않는 하드웨어의 경우엔 드라이버가 없습니다.

결론

64-bit Windows는 32-bit Windows보다 더 나은 성능, 더 많은 메모리를 제공해 줍니다. 이는 높은 성능 및 큰 처리량을 요구하는 기업 및 사용자에게 적합한 환경을 제공해 줍니다. 또한 64-bit 환경으로의 이전에 가장 걸림돌이 되는 기존 32-bit 응용 프로그램에 대한 호환성 역시 WOW64를 통해 해결이 가능합니다. 64-bit 시대가 다가오고 있고, 또한 이 시간에도 어디선가는 64-bit 컴퓨팅을 사용하고 있습니다. 이제는 한번 64-bit에 대한 시각과 경험을 가져보시는 것이 어떨까요?

최종 수정일 : 2005년 10월 12일

맨 위로 이동