Address Windowing Extensions

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Address Windowing Extensions (AWE) — программный интерфейс в ОС семейства Microsoft Windows, позволяющий 32-битному приложению получить доступ к оперативной памяти, размер которой превышает размеры доступного приложению виртуального адресного пространства (2-3[1] гигабайта). Процесс отображения дополнительной памяти в адресное пространство приложения при помощи AWE называется «windowing» (оконный доступ) и сходен с концепцией «overlay» используемой, например, в DOS. AWE подходит для приложений, обрабатывающих большие объёмы данных, например СУБД, научных и инженерных приложений.

Приложение выделяет регион памяти, называемый окно (window) в виртуальном адресном пространстве и запрашивает при помощи интерфейса выделение одного или нескольких регионов физической памяти. Позже интерфейс позволяет приложению отобразить любой выделенный регион физической памяти на окно в адресном пространстве. Допустимо создание нескольких окон, таким образом, что суммарный размер окон не превышает размер доступного виртуального адресного пространства. Размеры окон и регионов физической памяти могут быть произвольными (кратными размеру страницы памяти, 4096 байт), но на любое из окон возможно отображение региона физической памяти, не превосходящего по размеру окно.

Использование AWE должно быть заложено в код приложения. Также приложение должно иметь права «Lock Pages in Memory» (блокирование фрагмента памяти от выгрузки) для использования AWE.

AWE не зависит от расширения Physical Address Extension и не препятствует его использованию[2].

В статье 2004 года, опубликованной в Dr. Dobb's Journal, отмечалось, что память, выделенная при помощи Address Windowing Extensions, не подлежит сохранению в swap-файле, и было высказано предположение, что в регионы AWE памяти можно использовать для защиты данных, например, ключей шифрования.[3]

См. также[править | править исходный текст]

Примечания[править | править исходный текст]

Ссылки[править | править исходный текст]