윈도우7

16비트, 32비트, 64비트를 써야되는 이유

sungtg 2008. 4. 16. 21:24

게임을 하려고 exe 파일을 더블 클릭하면
빨간 엑스 표시가 나오면서 올바른 win32 프로그램이 아니라고 나와요.

게임이 나온지 꽤 된거 거든요. 윈도우 xp를 쓰고 있고요,
컴 새로 산지도 얼마 안됐어요. 어떻게 해야 되는지 알려주세요


 도스는 16비트,
 윈도우95부터 xp까지는 32비트,
 비스타 부터는 64비트...
 보통 운영체제가 몇 비트냐에 따라서 바뀌게 됩니다.

 32비트 운영체제에서는 32비트 응용프로그램이 잘 돌아가는것은 당연합니다.
 그러나 32비트 운영체제에서도 16비트 프로그램이 잘 돌아가도록 설정을
 해두었는데...
 윈도우XP 부터는 그 기능을 많이 축소를 시켜놓았기 때문에
 16비트 응용프로그램들이 잘 작동이 안될 겁니다.

 16비트와 32비트의 프로그램을 어떻게 구별하는지...
 16비트의 프로그램은 도스 기준으로 말하면 색을 256색깔을 지원합니다.
 
 32비트는 트루칼러 32만 넘게 색을 지원을 합니다.
 그러므로 프로그램의 실행 단계에서 색상만 봐도 쉽게 구분될 수 있습니다.

앞으로 나오는 64비트면 3D가 대세 일 겁니다.
32비트의 2D 와 64비트 3D가 또하나의 구분자 역할을 할 것으로 생각이 됩니다.
대역폭에서 차이가 있으니까 실감을 하실 겁니다.
16비트 32비트 64비트 한번 데이타를 주고 받을 수 있는 통로가
2의 비트수이므로 그래픽이 화려해 질 것이라고는 누구나 짐작 가능하겠지요

메모리 운영을 살펴보면


32비트는 Wndows커널은 2GB 또는 전체 32비트 가상 주소 공간의 절반으로 제한되며 나머지 절반은 CPU에서 현재 실행되고 있는 스레드가 속한 프로세스에 사용하도록 예약됩니다.

커널은 이 절반의 주소 공간에서 자신을 매핑하고,
장치 드라이버, 파일 시스템 캐시, 커널 스택, 세션별 코드 데이터 구조 및 장치 드라이버가 할당하는 비페이징(잠긴 실제 메모리) 버퍼와
페이징 버퍼 모두를 매핑해야 합니다.

메모리 관리자는 부팅될 때 이러한 여러 용도로 할당할 주소 공간의 크기를
결정했습니다. 이와 같이 유연하지 못하기 때문에
일부 메모리 영역에는 프로그램이 실행되어도 할당된 메모리 공간이 많이 남고
일부 메모리 영역에는 가용 공간이 없는 상황이 발생하기도 합니다.

가끔 응용프로그램 오류가 나는 것이 바로
할당된 메모리 영역이 모두 사용된 경우입니다.
이런경우 장치 드라이버는 I/O 작업을 마칠 수 없어서, 먹통이 되는 것이고
사용자가 reset키를 눌러버리면 하드 디스크 손상등이 올 수 있겠지요.

64비트는 메모리에서 프로그램의 실행에 있어서
이런 주소공간 지정하는 방식이 훨씬 융통성 있게 넓게 사용되기 때문에
이런 오류는 적어질 수 있습니다
사용자 삽입 이미지

64비트 운영체제용 프로그램들이 나오게 되면 기대가 되는 것도 사실입니다.

프로그램 사용에서는
일반 오피스나 워드 프로그램을 사용하는데는 32비트나 64비트차이가 없을 겁니다.
그러나 CPU를 많이 사용하는 프로그램들 오토캐드나 동영상, 그래픽등은
차이가 많이 납니다. 게임도 마찬가지 겠지요..