Управление памятью в WOW64
Управление памятью в WOW64 зависит от архитектуры процессора.
Поддержка Itanium
WOW64 имитирует 4 КБ страниц поверх собственных страниц размером 8 КБ, которые использует процессор Itanium. Процессор помогает, обеспечивая отличное моделирование с низкими затратами. Код моделирования не может обрабатывать следующие случаи:
- Отслеживание записи. Функции GetWriteWatch и ResetWriteWatch реализуются в ядре с помощью собственной гранулярности размера страницы. Это означает, что моделирование страниц WOW64 размером 4 КБ не может определить, какие имитированные 4 КБ страницы написаны в базовой странице размером 8 КБ.
- Расширения окон адресов (AWE). Функции AWE работают с номерами страниц, и нет способа сопоставить 64-разрядные номера страниц с 32-разрядными номерами страниц.
- Выравнивание разделов. Для исполняемых изображений с выравниванием разделов меньше 8 КБ (по умолчанию — 4 КБ для образов x86) WOW64 должен грязное всех страниц изображений. Это эффективно копирует каждую страницу в файл страницы и предотвращает совместное использование страниц изображений только для чтения между процессами.
- Функции ReadFileScatter и WriteFileGather не поддерживаются.
Поддержка x64 и ARM64
Размер собственной страницы составляет 4 КБ. Поэтому поддерживаются следующие компоненты:
- Поддерживаются функции GetWriteWatch и ResetWriteWatch .
- Поддерживаются функции ReadFileScatter и WriteFileGather .
- Использование больших адресов имеет преимущества, так как x64 WOW64 поддерживает виртуальное адресное пространство размером 4 ГБ.
Связанные темы