Расширения адресного окна (AWE) — это интерфейс программирования приложений Microsoft Windows , который позволяет 32-разрядному программному обеспечению получать доступ к большему объему физической памяти , чем у него есть виртуального адресного пространства, даже сверх предела в 4 ГБ. [1] Процесс отображения виртуального адресного пространства приложения на физическую память в AWE известен как «оконный» и похож на концепцию наложения в других средах. AWE полезен для некоторых приложений с интенсивным использованием данных , таких как системы управления базами данных и научное и инженерное программное обеспечение , которым необходимо манипулировать очень большими наборами данных , минимизируя при этом подкачку .
Приложение резервирует область или «окно» виртуального адресного пространства и выделяет одну или несколько областей физической памяти. Используя API AWE, приложение может сопоставить виртуальное окно с любой из физических областей. Приложение может резервировать более одного виртуального адресного пространства и сопоставлять его с любой из выделенных областей физической памяти, пока количество байтов, зарезервированных в виртуальном адресном пространстве, соответствует количеству байтов в области физической памяти. Приложение должно иметь привилегию Lock Pages in Memory для использования AWE.
В 32-разрядных системах AWE зависит от поддержки Physical Address Extension при резервировании памяти свыше 4 ГБ. [2] AWE был впервые представлен в Windows 2000 как новый API, заменяющий метод PSE36 (из Windows NT 4.0 Enterprise Edition) доступа к памяти свыше 4 ГБ, который больше не поддерживался в Windows 2000. [3] [4] Среди первых приложений, использовавших AWE, были Oracle 8.1.6 [4] и Microsoft SQL Server 2000. [3]
Если/3ГБФлаг загрузки используется для перераспределения 32-битного виртуального адресного пространства (из 2 ГБ ядра и 2 ГБ пользовательского пространства) в 3 ГБ пользовательского пространства, затем AWE ограничивается доступом к 16 ГБ физической памяти. [3] Это ограничение связано с тем, что при зарезервированном для ядра всего одном ГБ памяти для записей таблицы страниц недостаточно для отображения более 16 ГБ памяти. [5] Дополнительные ограничения на максимальный объем памяти, адресуемой через AWE, налагаются схемой лицензирования Windows. Например, Windows 2000 Advanced Server был ограничен 8 ГБ, в то время как Windows 2000 Data Center Server поддерживал 64 ГБ. [6]
В статье, опубликованной в журнале доктора Добба в 2004 году, отмечалось, что память, выделенная с помощью расширений оконного адресования, не будет записана в файл подкачки , и предполагалось, что регионы AWE могут использоваться в качестве способа защиты конфиденциальных данных приложений, таких как ключи шифрования. [7]
Набор расширений, позволяющий приложению быстро манипулировать физической памятью объемом более 4 ГБ.