▷ 윈도우 32비트와 64비트에 대해 알아보자.



최근 컴퓨터에 탑재하는 메모리량이 4기가를 넘어가면서 64비트 운영체제에 대한 관심이 부쩍 늘어났습니다. 사실 64비트 운영체제는 최근에 나온 것이 아닙니다. 기존에도 존재했으나, 그 실질적인 필요성에서 의문이 제기되었던 것이지요. 이는 당시 유저들의 입장에서 굳이 64비트 운영체제를 사용할 필요가 없었기 때문입니다.




▲ 64비트 운영체제는 예전부터 등장했습니다만.. 당시 일반유저에게는 그다지 필요가 없었습니다.



32비트의 운영체제와 64비트의 운영체제가 갖는 근본적인 차이는 데이터처리량입니다. 32비트는 2의 32제곱만큼. 64비트는 2의 64제곱만큼을 처리할 수 있습니다. 허나, 그런 이론적인 차이가 실질적으로 반영이 되느냐, 체감이 되느냐라고 묻는다면 “아니오”라고 대답할 수 있습니다. 그 이유는 아직 대부분의 프로그램들이 32비트로 제작되기 때문입니다. 과거에도 또 지금도 마찬가지입니다.




▲ 윈도우7 64비트버젼을 설치하고나면 2종류의 폴더가 생성됩니다. 32비트 프로그램들은 x86폴더에 설치되죠.



64비트의 운영체제가 확실히 32비트 운영체제와 비교해서 월등하다는 느낌을 받으려면 64비트 운영체제에서 64비트로 제작된 프로그램을 구동하여야 합니다. 근시일내에 변화가 있겠지만 아직은 대부분의 프로그램들이 32비트로 제작되고, 이를 WOW64를 통해서 64비트운영체제에서 호환모드로 구동하고 있습니다. (WOW64 - WindowsOn Windows64)

마치 에뮬을 실행시키는 것처럼 한번 걸러서 실행되기 때문에 64비트 운영체제는 이런 과정이 필요없는 32비트 운영체제에 비해서 성능저하가 발생할 가능성도 있습니다. 이렇듯, 실질적인 향상이 없음에도 불구하고 64비트 운영체제를 선호하는 것은 서두에 언급했던 컴퓨터에 탑재된 실제 메모리량의 증가때문입니다.



▷ 윈도우XP 는 3.25GB의 램밖에 사용하지 못한다는 오해



우선 윈도우의 버젼은 아무 상관이 없습니다. 이것은 윈도우XP든 윈도우7이든 "32비트 운영체제"가 갖는 본질적인 문제일 뿐입니다. 참고로 윈도우XP도 64비트 버젼이 존재합니다. 한글판이 없기 때문에 널리 퍼지지 못했을 뿐이죠. 따라서 이 오해는 32비트 운영체제가 3.25GB의 램밖에 사용하지 못한다고 표현하는 게 맞습니다.

그리고 해당 문제에 대해서 결론부터 말하자면 "사실이 아닙니다."




▲ 32비트 윈도우에서도 3.5기가 혹은 3.7기가를 인식시키는 건 어렵지 않습니다.



보다 정확하게 표현하자면 4GB이상의 램을 100% 사용할 수 없다가 맞습니다. 이러한 오해를 바로잡기 위해 윈도우가 사용하는 주소(Address) 개념을 알아야 합니다. 윈도우는 하드웨어를 사용하고, 또 프로그램을 구동하기 위해 “실제주소지도(Physical Address Map)와 가상주소(Virtual Address)”를 사용합니다.


컴퓨터에 장착된 하드웨어를 윈도우가 사용하기 위해서는 실제주소지도에 해당 하드웨어들이 갖고 있는 메모리들을 등록해야 합니다. 컴퓨터에 사용되는 부품들중에 그래픽카드에도 메모리가 있을 것이고, 사운드칩셋, 네트워크 칩셋에서 메모리가 있을 것입니다. 이것들에 대해서 하드웨어적으로 등록을 하는 장소가 바로 실제주소지도입니다.


그래픽카드, 메모리, 기타 등등의 하드웨어들이 갖고 있는 메모리들을 이 실제주소지도에 등록시키겠죠? 그런데 여기서 문제가 발생하게 됩니다. 32비트 운영체제는 이 실제주소지도공간이 4GB밖에 안되기 때문입니다.


등록해야 할 메모리들은 5GB를 넘어가는데, 실제주소 지도공간의 한계가 4GB입니다. 그렇다면 어떻게 할까요? 반드시 써야하는 그래픽카드나 기타 등등을 먼저 등록하고, 남는 부분에 메모리를 등록하게 됩니다. 그래서 4GB 용량의 메모리가 다 등록되지 못하고 3.25GB나 3GB, 다른 하드웨어의 메모리가 많은 경우에는 2.9GB 이렇게만 사용이 가능해지는 것입니다.





예를 들어서 생각해봅시다.

친구들이 다같이 모였습니다. 음악을 들으면서, 영화를 보기로 했다면 반드시 필요한 것이 오디오를 놓을 자리와 TV를 설치할 자리입니다. 그리고 맨바닥에 앉을 수는 없으니 돗자리를 깔아야 하는데, 돗자리가 너무 크다면 어떻게 할까요? 간단합니다. 돗자리를 일부분 접으면 되죠. 접히는 돗자리부분이 좀 아쉽긴 하지만, 반드시 필요한 오디오와 TV를 설치안할수는 없으니까요. TV가 더 커지면 어떻게될까요? 간단합니다. 돗자리를 더 접으면 되는 겁니다.


* 땅바닥 = 최대 실제주소 지도공간 4GB

돗자리 = 메모리 4GB
TV = 그래픽카드 메모리 640MB~1.1GB
오디오 = 기타 하드웨어 메모리
접힌 돗자리 = 실제주소 지도공간을 넘어가는 메모리부분 (TV + 오디오에 해당되는 분량)

이해가 되시는 지요? 실제로 사용하는 돗자리는 3.25나 2.9GB 이렇게 될 것입니다.



이러한 실제주소지도 총량의 한계로 인해서 32비트 운영체제는 4기가의 메모리를 온전히 다 사용할 수 없습니다. 이런 불만은 일반유저보다 서버유저군에서 먼저 제기되었고, 그 결과 32비트 운영체제에서 36비트의 "실제주소지도"를 사용할 수 있도록 PAE라고 불리우는 실제주소확장기능이 CPU에 추가됩니다. (Physical-실제 Address-주소 Extension-확장)

위에 언급했듯이 4GB로 제한이 되어있는 실제주소 지도공간을 64GB까지 확장할 수 있게 해주는 기능이고, 윈도우즈XP 에서는 서비스팩2 이후로 해당기능을 지원합니다. 다만 이렇게해서 4GB를 넘어가는 메모리를 인식할 수 있다하더라도, 32비트 윈도우자체의 한계로 인해서 윈도우를 4GB를 넘어가는 메모리를 사용할 수 없습니다.


그렇다고 하더라도 32비트 운영체제에서 4GB이상의 메모리를 사용할 수 있느냐의 문제는 "할 수 있다"가 정답에 가깝습니다. 비록 윈도우는 사용하지 못하더라도, 유저 스스로 램디스크와 같은 방법을 이용해서 사용할 수 있으니까요. 허나, 실제주소확장기능은 윈도우즈XP 상에서는 불완전하며, 추가적인 PAE 설정을 해줘야 한다는 것과 이후로 설명할 가상주소의 문제와 맞물려서 큰 의미를 지니지 못한다고 할 수 있습니다.



※ PAE 적용법


◆ 윈도우XP


내컴퓨터 - 우클릭 - 속성클릭





상단에 고급탭 - 시작 및 복구영역 설정클릭





편집클릭 후 뜨는 메모장의 가장 긴 줄 끝에 /pae 입력 후 저장하면 됩니다.





◆ 윈도우7


윈도우키 - 실행창에 cmd 입력 후 상단 검색결과에 cmd.exe 파일 우클릭 - '관리자 권한으로 실행' 선택

bcdedit /set pae ForceEnable 라고 입력후에 엔터를 치시면 됩니다.






▷ 실제메모리보다 더욱 중요한 건 가상메모리



하드웨어에 대한 등록을 실제주소지도에 한다면, 가상주소는 윈도우즈가 프로그램을 구동시키기 위해 사용하는 공간입니다. 이 가상주소 역시 32비트 운영체제는 4GB로 제한이 되어있고, 다양한 프로그램들을 구동함에 있어서 윈도우는 각각의 프로그램에 이러한 가상주소를 할당합니다.

예를 들어서 3가지 프로그램을 구동한다고 하면, 각각의 프로그램당 4GB씩의 "가상주소"를 할당해줌으로써 어떤 작업을 시작하더라도 프로그램이 사용가능한 메모리는 항상 4GB가 있고, 처음부터 사용하면 된다고 인식하게 해주는 것이지요. 이렇게 가상주소를 통해서 작업되는 것들이 결국에는 실제 메모리에 탑재되야 할텐데 이 역할은 메모리관리자가 하게 됩니다.



이번에도 예를 들어 봅시다.


작업실은 하나인데, 3명이 그 안에서 작업을 해야하는 상황입니다. 이때 3명에게 실제 작업실을 나눠서 배분해주고 그 안에서 해당되는 위치로 찾아가서 각자 작업을 하는 것이 아니라 4GB라는 동일한 크기의 새 연습장을 먼저 주는 것이죠. 연습장에서 하는 작업이 실제 작업실 어디에 위치하게 될 지는 알 수 없습니다. 이것을 결정하고 배치하고 또, 작업실이 부족할 경우에 잠깐 접어두는 등의 역할을 하는 것이 메모리관리자인 것이죠.




▲ 한글을 실행시켰을 때, 메모리관리자는 4GB의 가상주소를 할당해줍니다.





▲ 추가로 와우를 실행시켜도, 메모리관리자는 새로 4GB의 가상주소를 할당해줍니다.





▲ 이렇게 할당된 가상주소에서 실행된 작업들을 실제 메모리에 배치하는 역할을 담당합니다.



32비트 운영체제는 이러한 가상주소공간 역시 4GB로 제한되어 사용하는데, 이 4GB의 공간 마저도 2GB는 커널이라 부르는 공간으로 사용되고, 실제로 프로그램은 유저모드라고 불리는 남은 2GB의 공간만을 사용하게 됩니다. 별도의 옵션을 통해서 유저모드를 3GB로 늘리는 방법도 있으나, 효율적이지 못합니다. 그만큼 커널모드가 줄어들기 때문이죠. (2+2 → 3+1 로 바꾸는 것입니다.)




▲ 프로그램에 할당되는 4GB의 가상주소는 커널모드와 유저모드로 나눠서 사용됩니다.



최근 아이온이나 테라구동시 혹은 와우플레이중에 발생하는 메모리문제는 엄밀히 말해서 이러한 가상주소의 문제입니다. 특히 와우의 경우 "사용가능한 저장소가 부족합니다"라고 메시지와 동시에 튕기는 경우도 마찬가지입니다. 하드디스크의 용량과 관련이 있는 것이 아니라, 메모리의 문제입니다. (하드디스크에 특정주제의 동영상이 있는 것과는 무관합니다!)

하나의 프로그램당 4GB의 가상주소안에서 2GB의 유저모드를 사용하게 되어있는데, 여러가지 이유로 인하여(특히 애드온을 과다하게 사용하는 경우에 자주 발생합니다.) 프로그램이 정해진 용량 이상의 가상주소를 사용하려고하니 에러를 내는 것입니다. 그래서 최근 제작되는 게임들은 커널모드를 1GB로 줄이고, 유저모드를 3GB로 늘리는 4GT기술을 사용합니다. 아키에이지 클로즈베타 역시 1차때 이러한 방법을 적용했고, 유저의 동의를 구했었습니다.

단, 3GB옵션을 활성화했다고해서 모든 프로그램에 유저모드가 3GB로 할당되는 건 아닙니다. 윈도우에서 설정하고, 프로그램도 이를 지원해야 3GB로 조정됩니다. 프로그램이 이를 지원하지 않을 경우 기존과 같이 2GB로 할당됩니다.




▲ 테라에서 많은 사람들을 괴롭게 했던 메모리문제는 이러한 가상주소의 유저모드문제입니다.




※ 4GT(3GB) 기술 적용방법


◆ 윈도우XP


PAE를 적용할 때와 마찬가지로 boot.ini 파일을 편집모드로 들어가서, 제일 끝에 "/3GB" 라고 입력해주면 됩니다.





◆ 윈도우7


PAE 적용방식과 마찬가지로 도스 명령어 창을 열어서 (윈도우키 - 실행 - cmd )
bcdedit /set IncreaseUserVa 3072 입력하고 엔터쳐주시면 됩니다.




▷ 64비트 운영체제는 32비트의 단점을 극복한 형태




64비트 운영체제는 언급된 주소제한들이 없다고 해도 과언이 아닙니다. ① 실제주소 지도공간으로 활용할 수 있는 영역이 32비트의 4GB에서 16TB로 늘었고, ② 가상주소공간에서 활용하는 유저모드영역이 2GB에서 6TB로 늘었습니다. 이 가상주소내의 유저모드 용량증가덕분에 윈도우7 64비트로 운영체제를 바꾼 분들중에 잦은 다운현상으로부터 벗어나신 분들이 많습니다.

유저들이 체감상 가장 크게 느끼는 건 역시 실제주소 지도공간의 확장으로 인한 장착된 메모리의 온전한 사용일 겁니다. 4GB이상의 메모리를 장착하겠다면 64비트의 운영체제를 사용하라는 건 여기에서 기인합니다. 메모리의 가격이 많이 낮아져서 4GB의 메모리용량이 갈수록 표준화되고 있고, 8GB이상의 메모리를 장착하는 유저분들도 늘어나는 이상 64비트 운영체제는 이제 선택이 아닌 필수입니다.



▷ 어쩔 수 없이 32비트 운영체제를 선택해야만 한다면..



이처럼 64비트 운영체제가 이제 필수인 시대가 도래했음에도 불구하고, 아직 32비트 운영체제에서만 호환이 되는 특수한 경우들이 분명 있습니다. 그런 분들은 다음의 방법을 사용하도록 합니다.


① 32비트 윈도우를 설치한 후, 64비트 윈도우를 재설치하여 멀티부팅으로 구동


→ 32비트 윈도우를 먼저 설치하고(XP나 윈도우7), 64비트 윈도우를 설치하면서 설치위치를 다른 파티션으로 바꿔주면 됩니다. 즉, C드라이브에 윈도우XP나 32비트 윈도우7 이 설치되어 있다면, C를 제외한 D드라이브나 E드라이브에 윈도우7 64비트를 설치해주세요. 자동적으로 멀티부팅옵션이 생성됩니다.


② 64비트 윈도우에서 가상화기술을 사용해 가상윈도우XP를 설치


→ 마이크로소프트는 자체적으로 가상윈도우XP 프로그램을 제공합니다. 마이크로소프트 공식홈페이지에 필요한 파일들을 다운받을 수 있으며, 재부팅하지 않아도 창모드처럼 윈도우XP를 구동시킬 수 있습니다.




▲ 마치 창모드 XP라는 느낌으로 컴퓨터 안에 가상의 컴퓨터를 키는 것입니다.



가상 윈도우XP는 시스템의 메인메모리를 공유해서 구동되기 때문에 충분한 메모리가 설치되어 있는 상황이라면 가상윈도우XP를 설치하는 방법이 좋겠지만(재부팅할 필요가 없기 때문), 그렇지 않다면 재부팅의 번거로움이 있지만 메모리를 이중으로 사용하지 않는 멀티부팅을 추천합니다.





가상 윈도우XP 설치하러 바로가기



IT Inven Lend
()