336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


갑자기 프로세스당 최대 할당 메모리가 궁금해서 조사를 해봤다.


일단,

32bit 윈도우 시스템은 인식가능 메모리가 4GB 이며,

64bit 윈도우 시스템은 인식가능 메모리가 8GB~2TB(윈도우 버전에 따라 다름) 이다.


현제 윈도우10은

최고 Enterprise가 2TB이며, 최소 Home이 128GB이다.

윈도우8은 최고 512GB, 최소 128GB

윈도우7은 최고 192GB, 최소 8GB



왜냐하면?

32bit 주소는 4 Bytes로 최대 메모리 주소 번지가 0xFFFFFFFF이며 2^32로 4GB 이다.

넘어가는 곳의 메모리 주소는 표현 불가능하다.


64bit 주소는 8 Bytes 이므로 최대 메모리 주소번지가 0xFFFFFFFF FFFFFFFF이며 2^64로 16EB(엑사바이트, 페타 다음 단위임)이다.

그러나 16EB까지 인식하는 OS는 없다. 


여기까지가 윈도우 시스템(OS)에서 인식하는 메모리 양이면,

이제 주제인 프로세스당 최대 할당 메모리에 대해서 이야기 하겠다.


- 32bit 윈도우 시스템에서 사용하는 주소 할당 내역

0x00000000 ~ 0x0000FFFF : Null 포인터 할당 파티션으로 사용하지 않는다.

0x00010000 ~ 0x7FFEFFFF : 유저 모드 파티션

0x7FFF0000 ~ 0x7FFFFFFF : 64KB 접근 금지 파티션

0x80000000 ~ 0xFFFFFFFF : 커널 모드 파티션


여기사 사용자가 사용하는 프로세스에서 할당해서 사용하는 메모리 영역은 유저 모드 파티션이며 값은 아래와 같다.

2GB - 64KB(Null) - 64KB(접근 금지 파티션) = ‭2,147,352,576‬(0x7FFE0000)

약 2GB정도이다.


주소 공간 분할은 윈도우 커널버전에 따라 다르다고 하며, 2GB이상 사용을 위해서 비쥬얼 스튜디오에서 'Enable Large Address' 설정으로 3GB까지 사용이 가능 하다고는 하니, 참고 하면 될 듯하다.



64bit 윈도우 시스템에서 사용하는 주소 할당 내역 자료는 못찾았지만, 아래 페이지에 보면 인식가능 물리 메모리보다는 크게 잡혀 있는 것 같다. 그러므로 신경 쓰지 않아도 되는것으로 보인다.

- https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa366778(v=vs.85).aspx