프로그래밍/C,C++

가상 메모리 및 Large Address Aware

MAKGA 2020. 2. 19. 23:57
320x100

OS bit별 사용 가능한 최대 메모리 양

  32bit OS 64bit OS
32bit Program

2GB

2GB
32bit Program(LAA) 2GB 4GB
64bit Program X 물리메모리의 양
실행중인 프로그램의 총 메모리 3.5GB 물리메모리의 양

 

32bit에서 사용할 수 있는 메모리가 2GB인 이유:

  • Null 포인터 할당 파티션 : 0x00000000 ~ 0x0000FFFF
  • 유저 모드 파티션 : 0x00010000 ~ 0x7FFEFFFF => 2047MB
  • 64KB 접근 금지 파티션 : 0x7FFF0000 ~ 0x7FFFFFF
  • 커널 모드 파티션 : 0x80000000 ~ 0xFFFFFFFF

 

 

Large Address Aware란?

32bit 응용 프로그램에서 2GB보다 더 큰 메모리가 필요할 수 있음을 운영체제에 알림

 

설정 방법

VisualStudio 기준 프로젝트 [속성] - [링커] - [큰 주소 처리] 사용 (/LARGEADDRESSAWARE)

320x100