Механизм Address Windowing Extensions (только Windows 2000)
Механизм Address Windowing Extensions (только Windows 2000)
Создание эффективных Win32-приложений - ДЖ. Рихтер
}
return(0);
Механизм Address Windowing Extensions (только Windows 2000)
Жизнь идет вперед, и приложения требуют все больше и больше памяти — особенно серверные. Чем выше число клиентов, обращающихся к серверу, тем меньше его производительность. Для увеличения быстродействия серверное приложение должно хранить как можно больше своих данных в оперативной памяти и сбрасывать их на диск как можно реже. Другим классам приложений (базам данных, программам для работы с трехмерной графикой, математическими моделями и др.) тоже нужно манипулировать крупными блоками памяти. И всем этим приложениям уже тесно в 32разрядном адресном пространстве.
Для таких приложений Windows 2000 предлагает новый механизм — Address Windowing Extensions (AWE). Создавая AWE, Microsoft стремилась к тому, чтобы приложения могли:
■ работать с оперативной памятью, никогда не выгружаемой на диск операционной системой;
■ обращаться к таким объемам оперативной памяти, которые превышают размеры соответствующих разделов в адресных пространствах их процессов.
AWE дает возможность приложению выделять себе один и более блоков оперативной памяти, невидимых в адресном пространстве процесса. Сделав это, приложение резервирует регион адресного пространства (с помощью VirtualAlloc), и он становится адресным окном (address window). Далее программа вызывает функцию, которая связывает адресное окно с одним из выделенных блоков оперативной памяти. Эта операция выполняется чрезвычайно быстро (обычно за пару микросекунд).