Работа с виртуальной памятью

Microsoft Win32 API предоставляет набор функций, которые позволяют процессу манипулировать либо определять статус страниц виртуального адресного пространства. При этом поддерживается выполнение следующих операций:

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

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

    © Mystic, 2002