내가 windows7 32비트에 4GB램을 사용중이거든.
근데 메모리 인식을 3.2GB정도 밖에 안하길래 Ready for 4GB라는 프로그램을 이용해서
시스템에 표시되는 메모리가 4GB로 나오게끔 해놨어. 그리고 속도가 빠르게끔 하드디스크 페이징 파일을 없애버렸지.

근데 이상하게 메모리를 80%정도만 사용하면 메모리 부족 경고창이 뜨고, 프로그램이 비정상종료(튕김, 런타임 에러)가 되는거야. 딱 3.2GB정도지.
그래서 이번엔 1GB를 램디스크로 사용하고, 램디스크에 페이징파일을 950MB정도 줘봤더니 비정상종료가 전혀 없어졌어.

그렇다면 지식이 얕은 내 생각엔,
1. 메모리 인식 부분만 64비트 커널을 덮어씌운 ReadyFor4GB는 겉으로 보기에는 4GB이지만
   3.2GB부분을 초과한 부분은 64비트 커널의 메모리 주소를 사용하게 되고,
   응용프로그램을 초과된 부분의 주소를 사용할 수 있게끔 수정해주지 않으면 이 부분의 메모리는 사용 불가능한 것이다.

2. 그리고 이 존재하지만 사용하지 못하는 메모리를 램디스크+페이징 파일로 활용함으로써 메모리 부족 경고가 없어졌다.

이렇게 생각하는데 내 생각이 맞는건지 궁금해...

그리고 

메인 메모리(RAM) 4GB      ┓                                                                ┏프로세스1의 가상 메모리(프로세스당 4GB 제한)
그래픽카 드 메모리 512MB ┣━ 물리 주소 정보(PAM; 총 4GB 제한)     ━┫ 프로세스2의 가상 메모리(프로세스당 4GB 제한)
바이오스 메모리      xxMB  ┃(이 변환 과정에서 메인 메모리0.8GB 누락)  ┃프로세스3의 가상 메모리(프로세스당 4GB 제한)
랜카드 메모리 등     xxMB  ┛                         +                                     ┗프로세스4의 가상 메모리(프로세스당 4GB 제한)
                                                         디스크 가상 메모리

이렇게 시스템에 메인 메모리를 포함한 모든 메모리를 하나의 'PAM'으로 관리하는데 32비트는 이 제한이 4GB이고,
디스크 가상 메모리는 별개로 취급되는게 맞아?

그렇다면 내 생각엔 디스크 가상 메모리도 제한이 있을것 같은데 이것도 4GB이상으로 사용 못해?


형들 궁금해!