일부 사용자들이 Windows에서의 메모리 용량이 다르게 표기가 되는 것에 대해서 의아하게 생각하는 경우가 많다. 배우기(Mr.Learn)의 경우는 개인적으로 이러한 것은 신경을 쓰지 않는데 어떤 사용자의 경우는 유난스럽게 민감해 하는 것 같기도 하다. 어떤 사용자는 또 4GB의 램이 장착된 경우 32비트의 한계 때문에 대략 0.8GB를 소위 까먹고 3.2GB밖에 인식을 하지 못한다고 한다 그리고 이러한 0.8이 Unmanaged Memory이기 때문에 별도의 유틸리티를 이용해서 0.8GB를 사용해야 한다고도 한다.(승용차의 정원이 5명이라고 할 때 운전자를 제외하고 차를 운행하는 상황에서는 4명을 태울 수 있다. 운전할 수 없는 사람 5명이 타야 하나? 쉽게 생각해서 커널 포션을 제외한 값을 이용한다고 보면 되지 않나.)
상식적으로 램을 4GB장착을 했다고 했을 때 Windows라는 운영체제가 돌아가기 위해서는 램을 사용해야 한다. 고로 사용자가 사용할 수 있는 메모리 용량은 당연히 4GB 보다 적어야 하는 것이 당연하지 않은가? 그렇다면 과연 4GB에서 얼마가 줄어들어야 정상일까? 어떤 사용자들은 대략 0.8GB가 줄어든다고 한다. 그러나 이는 개별적인 PC환경에 따라서 달라지는 것이지 모든 Windows 사용자에게 해당되지는 않는다.
1. 일단 BIOS와 드라이버가 예약(실제 메모리 맵핑)하기 때문에 줄어든다. - MS 기술 자료(ID: 946003)를 근거로 해서 알아보면 다음과 같다.
3GB 이하의 실제 메모리가 설치된 컴퓨터의 경우 보고된 메모리 값이 설치된 실제 메모리보다 약간 작을 수 있습니다. 이러한 차이는 BIOS와 드라이버에서 실제 메모리를 예약하기 때문입니다. 예를 들어, 일부 BIOS 구현에서는 그래픽 어댑터에 실제 메모리를 할당합니다. 그래픽에 할당되는 일반적인 크기는 8MB-128MB이며 다른 크기도 가능합니다. BIOS와 일부 드라이버에서는 다른 주변 장치나 기타 용도로 실제 메모리를 예약할 수 있습니다. 이러한 예약은 합리적이며 컴퓨터에 대한 일반적인 작업의 일부이지만 운영 체제와 응용 프로그램에서 사용할 수 있는 실제 메모리 크기를 줄입니다. 이러한 예약은 32비트 컴퓨터와 64비트 컴퓨터에 모두 영향을 미칩니다.
2. 3GB가 넘을 경우 차이는 더 커질 수 있다. -
Windows Vista SP1 이전의 32비트 Windows 운영 체제를 사용하고 3GB가 넘는 시스템 메모리가 설치된 컴퓨터에서는 설치된 실제 메모리 크기와 운영 체제에서 사용 가능한 것으로 보고되는 메모리 크기의 차이가 더 큽니다. 이는 일부 실제 주소 공간이 메모리 매핑된 주변 장치의 I/O 영역으로 예약되어야 하기 때문입니다. 이러한 I/O 영역은 3GB의 실제 주소와 4GB의 실제 주소 상한 사이에서 할당됩니다.
이러한 I/O 영역에 매핑된 실제 메모리 주소는 실제 시스템 메모리에 주소를 지정하는 데 사용할 수 없습니다. 또한 이러한 주소를 사용하여 운영 체제에서 3GB의 실 제 주소와 4GB의 실제 주소 상한 사이에서 일반적으로 액세스되는 일부 실제 메모리를 사용하지 못하게 할 수 없습니다. 이러한 I/O 영역에 따라 시스템의 주변 장치에 대한 유형과 구성이 결정되기 때문에 이러한 I/O 영역의 크기는 시스템마다 다릅니다.
3. 사용자 PC의 환경이 다른 것 처럼 보고하는 메모리 용량도 다르다. - 사용자들은 각기 다른 비디오 카드(128/256/512MB)를 사용되기 때문에 실제 메모리와의 맵핑도 차이가 나며, 비디오 카드 외의 기타 장치들에 의해서도 다를 수 있다. MS 기술 문서 ID 946003에 따른 3GB가 넘을 경우는
4GB 메모리가 설치된 경우 4GB를 보고하는 것에 대해서는 BIOS에서 그래픽이나 다른 주변 장치용으로 실제 메모리를 예약했기 때문이라고 한다.
비스타의 경우 서비스팩 1 이전이라면 3GB보다 작은 경우는 메모리가 적게 표시되기도 하지만, 서비스팩 1 이후에 3GB이상이라면 4GB를 4GB로 보고 한다고 하는데, 누가 읽어 보아도 이해가 쉽지 않을 것이다. 더불어 메모리 용량은 Windows내에서도 각기 다르게 표기가 되지만 램관련 유틸리티들을 실행해 봐도 다르게 표기가 되기도 한다. 골치아프니까 단순하게 커널 포션을 제외한 나머지 것을 사용한다 보고한다라고 생각하면 된다. 그렇지만 분명한 것은 무슨 32비트의 한계 때문에 4GB에서 일부를 인식하지 못하거나 사용하지 못한다는 생각은 하지말자!
끝까지 파헤치려면 메모리 관리 및 아키텍처를 공부하자
무식한 것인지 용감한 것인지, 네이버 상습 펌질 및 양심불량 블로그(
blog.naver.com/spef)는 윈앤위 게시물 모두 삭제하십시오!
개인 운영 사이트라고 만만하게 생각하고 콘텐츠 복제하나본데 그러다가 큰코 다칩니다.
저작권자 동의없이 콘텐츠 복제를 금합니다. 동의를 거쳐서
이용 규칙을 준수하십시오!
작성날짜 : 2008년 12월 29일
작성시간 : AM 09시 57분 06초
퍼브리셔 :
배우기(Mr.Learn)
저작권자 : Powered by 윈앤위
코멘트는 누구에게나 열려 있습니다.
트랙백도 블로거에게 열려 있습니다.