windows 7

System32 и SysWOW64 в Windows 7

Что такое "SysWOW64" и как он работает?

Используются/загружаются ли SysWOW64 и System32 в оперативную память во время загрузки Windows 7?

Executive summary

Microsoft иногда делает что-то наоборот, и это еще один пример этого. System32 — это системный каталог 64-разрядной версии Windows, а SysWOW64 — это системный каталог 32-разрядной версии Windows, что совершенно противоположно тому, что следует из имен каталогов.

Details

В Windows есть каталог "Windows" и каталог "System",и так было всегда,еще когда Windows была 16-битной.

Программы Windows должны находить их с помощью функций системного API, таких как SHGetKnownFolderPath() и GetSystemDirectory() ; и если бы все сделали это, мир был бы совсем другим в этот момент. Но слишком много людей по глупости запрограммировали фактическое имя каталога \Windows\System32 в свои программы, а затем перенесли эти программы из 32-битной Windows в 64-битную Windows. Как следствие, множество программ искали 64-битные исполняемые файлы и библиотеки в каталоге \Windows\System32 , имя которого они запрограммировали жестко. (По иронии судьбы такая же проблема возникла при переходе с 16-битной Windows на 32-битную.16-разрядный каталог «Система» обычно был \Windows\System .)

Поэтому люди в Microsoft решили сделать \Windows\System32 каталогом, в котором собственные 64-разрядные программы Windows могли бы найти 64-разрядные исполняемые файлы и библиотеки, и, поскольку 32-разрядные программы в любом случае выполняются поверх слоя оболочки в В 64-битной Windows доступ к каталогу «Система» 32-битными программами перенаправляется в новый каталог \Windows\SysWOW64 .

Отсюда и странная ситуация,которая сложилась сейчас.




WoW64 означает Windows 32 в Windows 64:

WoW64 (Windows 32-bit On Windows 64-bit)-это подсистема операционной системы Windows,способная выполнять 32-битные приложения и включенная во все 64-битные версии Windows-включая Windows 2000 Limited Edition,Windows XP Professional x64 Edition,IA-64 и x64 версии Windows Server 2003,а также 64-битные версии Windows Vista,Windows Server 2008 и Windows 7.