Поделиться через


Функции виртуальной памяти

Функции виртуальной памяти позволяют процессу управлять или определять состояние страниц в своем виртуальном адресном пространстве. Они могут выполнять следующие операции:

  • Зарезервировать диапазон виртуального адресного пространства процесса. Резервирование адресного пространства не выделяет физическое хранилище, но не позволяет другим операциям выделения использовать указанный диапазон. Это не влияет на виртуальные адресные пространства других процессов. Резервирование страниц предотвращает использование физического хранилища без необходимости, позволяя процессу зарезервировать диапазон своего адресного пространства, в котором может расти динамическая структура данных. При необходимости этот процесс может выделить физическое хранилище для этого пространства.
  • Зафиксируйте диапазон зарезервированных страниц в виртуальном адресном пространстве процесса, чтобы физическое хранилище (в ОЗУ или на диске) было доступно только для процесса выделения.
  • Укажите доступ только для чтения и записи, только для чтения или отсутствия доступа для диапазона зафиксированных страниц. Это отличается от стандартных функций выделения, которые всегда выделяют страницы с доступом на чтение и запись.
  • Бесплатный диапазон зарезервированных страниц, что делает диапазон виртуальных адресов доступным для последующих операций выделения вызовом.
  • Отмените диапазон зафиксированных страниц, освобождая их физическое хранилище и делая его доступным для последующего выделения любым процессом.
  • Заблокируйте одну или несколько страниц зафиксированной памяти в физической памяти (ОЗУ), чтобы система не переключила страницы на файл разбиения на страницы.
  • Получение сведений о диапазоне страниц в виртуальном адресном пространстве вызывающего процесса или указанного процесса.
  • Измените защиту доступа для указанного диапазона зафиксированных страниц в виртуальном адресном пространстве вызывающего процесса или указанного процесса.

Дополнительные сведения см. в следующих разделах.