Address Windowing Extensions (AWE) este o interfață de programare din familia de sisteme de operare Microsoft Windows care permite unei aplicații pe 32 de biți să acceseze memoria RAM care este mai mare decât spațiul de adrese virtual disponibil pentru aplicație (2-3 [1] gigaocteți). Procesul de mapare a memoriei suplimentare în spațiul de adresă al unei aplicații folosind AWE se numește „windowing” (acces la fereastră) și este similar cu conceptul „ overlay ” folosit, de exemplu, în DOS . AWE este potrivit pentru aplicațiile care procesează cantități mari de date, cum ar fi DBMS , aplicații științifice și de inginerie.
O aplicație alocă o regiune de memorie, numită fereastră ( fereastră ), într-un spațiu de adrese virtuale și solicită, printr-o interfață, alocarea uneia sau mai multor regiuni de memorie fizică. Ulterior, interfața permite aplicației să mapeze orice regiune alocată a memoriei fizice la o fereastră din spațiul de adrese. Pot fi create mai multe ferestre astfel încât dimensiunea totală a ferestrelor să nu depășească dimensiunea spațiului de adrese virtuale disponibil. Dimensiunile ferestrelor și regiunilor memoriei fizice pot fi arbitrare (un multiplu al mărimii unei pagini de memorie, 4096 de octeți), dar oricare dintre ferestre poate fi mapată la o regiune a memoriei fizice care nu depășește dimensiunea fereastră.
Utilizarea AWE trebuie inclusă în codul aplicației. De asemenea, aplicația trebuie să aibă drepturile „Blocare pagini în memorie” (blocarea unui fragment de memorie de la descărcare) pentru a utiliza AWE.
AWE nu depinde de sau exclude utilizarea extensiei de adresă fizică [2] .
Într-un articol din 2004 publicat în Dr. Dobb's Journal a remarcat că memoria alocată cu extensii de ferestre de adresă nu poate fi schimbată și s-a sugerat că regiunile de memorie AWE ar putea fi folosite pentru a proteja datele, cum ar fi cheile de criptare. [3]
Un patcher special poate fi, de asemenea, un posibil exemplu: pentru aplicațiile pe 32 de biți pe Windows, puteți utiliza un patcher special care elimină limita de 2 GB RAM fără a fi nevoie să o recompilați. Aplicabil pentru aplicații pe 32 de biți într-un mediu Windows pe 64 de biți cu un scop similar. Acest lucru este necesar în principal pentru a mări spațiul de adrese al aplicațiilor pe 32 de biți, deoarece acestea sunt limitate la cei 2 GB menționați mai sus per proces [4] . Dar este de remarcat și faptul că această metodă nu funcționează întotdeauna și aplicația poate înceta să mai pornească. Și în unele cazuri, o aplicație patchată în acest fel își poate crește performanța, de exemplu, viteza de lansare a unui nivel în unele jocuri.