프로세스의 가상 주소 공간 페이지는 다음 상태 중 하나일 수 있습니다.
상태 | 묘사 |
---|---|
무료 | 이 페이지는 커밋되거나 예약되어 있지 않습니다. 프로세스에서 페이지에 액세스할 수 없습니다. 예약, 커밋 또는 동시에 예약 및 커밋할 수 있습니다. 무료 페이지에서 읽거나 쓰기를 시도하면 액세스 위반 예외가 발생합니다. 프로세스는 VirtualFree 또는 VirtualFreeEx 함수를 사용하여 주소 공간의 예약되거나 커밋된 페이지를 해제하여 사용 가능한 상태로 되돌릴 수 있습니다. |
예약 | 이 페이지는 나중에 사용하도록 예약되었습니다. 주소 범위는 다른 할당 함수에서 사용할 수 없습니다. 페이지에 액세스할 수 없으며 연결된 실제 스토리지가 없습니다. 커밋할 수 있습니다. 프로세스는 VirtualAlloc 또는 VirtualAllocEx 함수를 사용하여 주소 공간의 페이지를 예약하고 나중에 예약된 페이지를 커밋할 수 있습니다. VirtualFree 또는 VirtualFreeEx 사용하여 커밋된 페이지를 커밋 해제하고 예약된 상태로 반환할 수 있습니다. |
최선을 다하고 | 메모리 요금은 디스크의 RAM 및 페이징 파일의 전체 크기에서 할당되었습니다. 페이지에 액세스할 수 있으며 액세스는 메모리 보호 상수 중 하나에 의해 제어됩니다. 시스템은 커밋된 각 페이지를 초기화하고 해당 페이지를 읽거나 쓰기 위해 처음 시도하는 동안에만 실제 메모리로 로드합니다. 프로세스가 종료되면 시스템에서 커밋된 페이지에 대한 스토리지를 해제합니다. 프로세스는 VirtualAlloc 사용하거나 VirtualAllocEx사용하여 예약된 지역에서 물리적 페이지를 커밋할 수 있습니다. 페이지를 동시에 예약하고 커밋할 수도 있습니다. GlobalAlloc 및 LocalAlloc 함수는 읽기/쓰기 권한이 있는 커밋된 페이지를 할당합니다. |