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]

Также возможным примером может являться специальный патчер: для 32-битных приложений в Windows можно использовать специальный патчер[4], который снимает лимит используемой ОЗУ в 2 ГБ без необходимости его перекомпилировать. Применим и для 32-битных приложений в 64-битной среде Windows с аналогичной целью. Это нужно в основном для увеличения адресного пространства 32-битных приложений, так как они ограничиваются вышеуказанным объемом в 2 ГБ на каждый процесс[5]. Но стоит также отметить, что этот способ не всегда работает и приложение может перестать запускаться. И в некоторых случаях пропатченное приложение таким образом может увеличить свою производительность, например, скорость запуска уровня в некоторых играх.

См. также

Примечания

  1. Memory Limits for Windows Releases (англ.). MSDN (5 мая 2012). Дата обращения: 7 июня 2012. Архивировано из оригинала 12 августа 2012 года.
  2. Physical Address Extension. Microsoft (6 ноября 2008). Дата обращения: 13 декабря 2008. Архивировано из оригинала 12 августа 2012 года.
  3. Coombs, Jason. Protecting RAM Secrets with Address Windowing Extensions. Dr. Dobb's Journal (18 октября 2004). Дата обращения: 8 декабря 2007. Архивировано из оригинала 12 августа 2012 года.
  4. [1]
  5. Преодолевая ограничения Windows: виртуальная память. Mark Russinovich по-русски (англ.). Архивировано 30 ноября 2018. Дата обращения: 29 ноября 2018.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.