Выделение виртуальной памяти

Функции для работы с виртуальной памятью обращаются со страницами памяти. Эти функции используют размер страницы на текущем компьютере для округления (с избытком) указанных размеров и адресов. Функция VirtualAlloc используется для выполнения одной из следующих операций:

  • Резервирование одной или более свободных страниц памяти.
  • Передача физической памяти одной или более резервированных страницам.
  • Резервирование и передача физической памяти одной или более свободных страниц памяти.
  • Вы можете либо указать системе стартовый адрес страниц памяти, с которого вы хотели бы зарезервировать или по которому вы хотите выделить физическую память, либо предоставить системе самой определить этот адрес. Функция производит выравнивание переданного адреса на границу страниц. Зарезервированные страницы недоступны программе, но при передаче физичесокой памяти страницам вы можете указать атрибуты доступа PAGE_READWRITE, PAGE_READONLY или PAGE_NOACCESS. При передаче физической памяти странице для нее выделяется место в файле подкачки. Страница инициализируется и перемещается в оперативную память только при первой попытке чтения или записи по адресу, принадлежащему странице. Вы можете использовать обычные указатели для получения доступа к виртуальной памяти, для которой была передана физическая память постредством вызова функции VirtualAlloc.

    НазадРабота с виртуальной памятью Освобождение виртуальной памятиВперед

    © Mystic, 2002