프로그래밍/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