System32 и SysWOW64 в Windows 7

13

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

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

Диого
источник
Как ни странно, Syswow64 - это устаревшие 32-битные версии приложений для Windows, таких как taskmanager и cmd.
Supercereal
Это просто обозначает окна на окнах.
Бломквист

Ответы:

23

Управляющее резюме

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каталог.

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

JdeBP
источник
12

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.

dsolimano
источник
1
Я все проголосовал за сегодня, но это хороший ответ ... будущее +1
Supercereal
3

Это означает Систему Windows (x32) на Windows x64. Он содержит все системные файлы x32 для совместимости. Он работает так, 32-битные приложения могут.

Джефф Ф.
источник