Виртуальная память может находиться в следующих состояниях:
Free - свободная Reserved - зарезервированная Committed - выделенная
Резервирование памяти нужно, если в ходе работы программы мы хотим работать с участком памяти как с последовательным массивом. Если этот участок будет довольно большой, то лучше его сразу зарезервировать.
Управление типом памяти обеспечивает функция VirtualAlloc() с параметрами:
MEM_RESERVE - резервировать MEM_COMMIT - выделить
Удалять страницы и переводить их в резервное состояние позволяет VirtualFree():
MEM_RELEASE - освободить MEM_DECOMMIT - зарезервировать
Общая схема изменения памяти.