프로세스 주소 공간
모든 32비트 응용 프로그램에는 4GB의 프로세스 주소 공간이 있습니다(32비트 주소는 최대 4GB의 메모리를 매핑할 수 있음). Microsoft Windows 운영 체제에서 응용 프로그램은 사용자 모드 가상 주소 공간이라는 2GB의 프로세스 주소 공간에 액세스할 수 있습니다. 응용 프로그램에서 소유한 모든 스레드는 동일한 사용자 모드 가상 주소 공간을 공유합니다. 나머지 2GB는 운영 체제를 위해 예약되어 있습니다(커널 모드 주소 공간이라고도 함). Windows Server 2003을 포함한 Windows 2000 Server 이후의 모든 운영 체제 버전에는 커널 모드 주소 공간을 1GB로 제한하고 응용 프로그램에 3GB의 프로세스 주소 공간에 대한 액세스를 제공할 수 있는 boot.ini 스위치가 있습니다.
AWE(Address Windowing Extensions)는 운영 체제가 지원하는 최대 실제 메모리에 대한 액세스를 허용하여 32비트 응용 프로그램의 기능을 확장합니다. AWE는 최대 64GB의 하위 집합을 사용자 주소 공간에 매핑하여 이 작업을 수행합니다. 응용 프로그램 버퍼 풀과 AWE로 매핑된 메모리 사이의 매핑은 Windows 가상 메모리 테이블 조작을 통해 처리됩니다.
3GB의 사용자 모드 프로세스 공간에 대한 지원을 사용하려면 boot.ini 파일에 /3gb 매개 변수를 추가하고 컴퓨터를 다시 부팅하여 /3gb 매개 변수를 적용해야 합니다. 이 매개 변수를 설정하면 사용자 응용 프로그램 스레드가 3GB의 프로세스 주소 공간을 처리할 수 있으며 운영 체제를 위해 1GB의 프로세스 주소 공간이 예약됩니다.
[!참고]
컴퓨터에 16GB 이상의 실제 메모리가 있더라도 운영 체제는 시스템 목적으로 2GB의 프로세스 주소 공간이 필요하므로 2GB의 사용자 모드 주소 공간만 지원할 수 있습니다. AWE가 16GB를 초과하는 메모리 범위를 사용할 수 있게 하려면 boot.ini 파일에 /3gb 매개 변수가 포함되지 않아야 합니다. 포함되어 있는 경우 운영 체제는 16GB 이상의 메모리를 처리할 수 없습니다.