Управление памятью для драйверов Windows
Драйверы в режиме ядра выделяют память для хранения внутренних данных, буферизации данных во время операций ввода-вывода и совместного использования памяти с другими компонентами режима ядра и пользовательского режима. Разработчики драйверов должны понимать управление памятью в Windows, чтобы правильно и эффективно использовать выделенную память. Windows управляет виртуальной и физической памятью и делит память на отдельные адресные пространства пользователей и систем. Драйвер может указать, поддерживает ли выделенная память такие возможности, как разбиение по запросу, кэширование данных и выполнение инструкций.
Диспетчер памяти — это компонент ядра, выполняющий операции управления памятью в Windows. Дополнительные сведения см. в разделе Диспетчер памяти Windows Kernel-Mode.
Диспетчер памяти реализует ряд подпрограмм поддержки режима ядра, которые вызываются драйверами для выделения памяти и управления ими. Дополнительные сведения см. в разделе Выделение памяти и управление буфером.
Возможности управления памятью в драйверах режима ядра отличаются от возможностей приложений в пользовательском режиме. Дополнительные сведения об управлении памятью для приложений см. в разделе Управление памятью.
В этом разделе
- Общие сведения о пространстве памяти Windows
- Выделение памяти System-Space
- Регистры карт
- Сопоставление Bus-Relative адресов с виртуальными адресами
- Использование стека ядра
- Использование списков lookaside
- Создание драйверов для страничных страниц
- Доступ к системной памяти Read-Only
- Доступ к памяти User-Space
- Пул без выполнения (NX)
- Объекты и представления раздела
- Использование mdls