Что такое "SysWOW64" и как оно работает?
SysWOW64 и System32 оба используются / загружаются в ОЗУ во время загрузки Windows 7?
Microsoft иногда все делает задом наперед, и это еще один пример этого. System32
- это 64-разрядный системный каталог Windows, а SysWOW64
- это 32-разрядный системный каталог Windows, что совершенно противоположно тому, что предлагают имена каталогов.
В Windows есть каталог "Windows" и каталог "System", и это было верно вплоть до 16-битной Windows.
Программы Windows должны находить их с помощью функций системного API, таких как SHGetKnownFolderPath()
и GetSystemDirectory()
; и если бы все сделали это, мир был бы совсем другим на этом этапе. Но слишком много людей по глупости встроили фактическое имя каталога \Windows\System32
в свои программы, а затем портировали эти программы из 32-битной Windows в 64-битную Windows. Как следствие, многие программы искали 64-битные исполняемые файлы и библиотеки в каталоге \Windows\System32
, имя которого они были зашиты. (По иронии судьбы, при переходе с 16-битной Windows на 32-битную Windows была та же проблема. Обычно 16-разрядный системный каталог был \Windows\System
.)
Поэтому сотрудники Microsoft решили сделать \Windows\System32
каталогом, в котором собственные 64-разрядные программы Windows будут находить 64-разрядные исполняемые файлы и библиотеки, а 32-разрядные программы в любом случае выполняются поверх слоя-оболочки. 64-разрядная версия Windows, доступ к каталогу "Система" 32-разрядными программами перенаправляется в новый каталог \Windows\SysWOW64
.
Отсюда и странная ситуация, которая сейчас складывается.
WoW64 означает Windows 32 на Windows 64:
WoW64 (32-разрядная версия Windows В 64-разрядной версии Windows) - это подсистема операционной системы Windows, которая может запускать 32-разрядные приложения и включена во все 64-разрядные версии Windows, включая Windows 2000 Limited Edition, Windows XP Professional. 64-разрядные версии, IA-64 и x64 версии Windows Server 2003, а также 64-разрядные версии Windows Vista, Windows Server 2008 и Windows 7.
Это означает Систему Windows(x32) на Windows x64. Он содержит все системные файлы x32 для совместимости. Он работает так, 32-битные приложения могут.