Address Windowing Extensions (AWE) - это интерфейс прикладного программирования Microsoft Windows, который позволяет 32-битному программному приложению получать доступ к большему количеству физической памяти, чем оно имеет виртуальное адресное пространство, даже сверх лимита в 4 ГБ. [1] Процесс отображения виртуального адресного пространства приложения в физическую память в AWE известен как «управление окнами» и аналогичен концепции наложения в других средах. AWE полезно для некоторых данных -intensive приложений, таких как базы данных систем управления и научное и инженерного программное обеспечение , которые должны работать с очень большими наборами данных при минимальном разбиении на страницы .
Приложение резервирует область или «окно» виртуального адресного пространства и выделяет одну или несколько областей физической памяти. Используя API AWE, приложение может сопоставить виртуальное окно с любой из физических областей. Приложение может зарезервировать более одного виртуального адресного пространства и сопоставить его с любой из выделенных областей физической памяти, если количество байтов, зарезервированных в виртуальном адресном пространстве, совпадает с количеством байтов в области физической памяти. Чтобы использовать AWE, приложение должно иметь право «Блокировать страницы в памяти».
В 32-разрядных системах AWE зависит от поддержки расширения физических адресов при резервировании памяти более 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 г., отмечалось, что память, выделенная с помощью расширений Address Windowing, не записывается в файл подкачки , и предлагалось использовать области AWE как способ защиты конфиденциальных данных приложения, таких как ключи шифрования. [7]
Смотрите также
Рекомендации
- ^ "Расширения окна адреса" . MSDN.
набор расширений, позволяющий приложению быстро управлять физической памятью размером более 4 ГБ.
- ^ «Расширение физического адреса» . Microsoft . 6 ноября 2008 . Проверено 13 декабря 2008 .
- ^ а б в Плотина Саджал (2004 г.). Оптимизация настройки производительности запросов SQL Server . Апресс. С. 28–29. ISBN 978-1-4302-0407-7.
- ^ а б Майкл Р. Олт (17 февраля 2003 г.). «Увеличение доступной памяти в Linux и Windows» (PDF) . Официальный документ ROBO Books. С. 10–12 . Проверено 1 марта 2014 .
- ^ Настройка серверов IBM xSeries для повышения производительности (PDF) (3-е изд.). IBM SG24-5287-02. Июнь 2002. С. 92–93. Архивировано из оригинального (PDF) 03 марта 2014 года.
- ^ Дуэйн Сноу; Томас X. Фан (2003). Advanced DBA Certification Guide and Reference: для DB2 Universal Database V8 для Linux, UNIX и Windows . Prentice Hall Professional. п. 87. ISBN 978-0-13-046388-3.
- ^ Кумбс, Джейсон (18 октября 2004 г.). «Защита секретов ОЗУ с помощью расширений оконного управления адресами» . Журнал доктора Добба . Архивировано 18 декабря 2007 года . Проверено 8 декабря 2007 .
Внешние ссылки
- Расширения адресного окна в MSDN
- Пример кодирования расширений оконного управления адресами