System32 i SysWOW64 w systemie Windows 7

13

Co to jest „SysWOW64” i jak działa?

Czy zarówno SysWOW64, jak i System32 są używane / ładowane do pamięci RAM podczas uruchamiania systemu Windows 7?

Diogo
źródło
Co dziwne, Syswow64 to starsze 32-bitowe wersje aplikacji Windows, takie jak taskmanager i cmd.
Supercereal,
To po prostu oznacza okna w systemie Windows.
Blomkvist,

Odpowiedzi:

23

Streszczenie wykonawcze

Microsoft czasami robi rzeczy wstecz i jest to kolejny przykład tego. System32jest 64-bitowym katalogiem systemu Windows i SysWOW64jest 32-bitowym katalogiem systemu Windows - całkowicie odwrotnie niż sugerują nazwy katalogów.

Detale

W systemie Windows istnieje katalog „Windows” i katalog „System”, i tak było od samego początku, gdy Windows był 16-bitowy.

Programy Windows powinny je zlokalizować za pomocą systemowych funkcji API, takich jak SHGetKnownFolderPath()i GetSystemDirectory(); i gdyby wszyscy to zrobili, świat byłby zupełnie inny w tym momencie. Ale zbyt wielu ludzi nierozsądnie wpisało rzeczywistą nazwę katalogu \Windows\System32do swoich programów, a następnie przeniosło te programy z 32-bitowego systemu Windows na 64-bitowy system Windows. W rezultacie wiele programów szukało 64-bitowych plików wykonywalnych i bibliotek w \Windows\System32katalogu, których nazwę zapisali na stałe. (Jak na ironię, ten sam problem występował podczas migracji z 16-bitowego systemu Windows do 32-bitowego systemu Windows. Zwykle był to 16-bitowy katalog „System”\Windows\System ).

Dlatego ludzie w Microsoft postanowili stworzyć \Windows\System32katalog, w którym natywne 64-bitowe programy Windows mogłyby znaleźć 64-bitowe pliki wykonywalne i biblioteki, a ponieważ programy 32-bitowe i tak działają na warstwie shim w 64-bitowym systemie Windows , dostęp do katalogu „System” przez programy 32-bitowe jest przekierowywany do nowego \Windows\SysWOW64katalogu.

Stąd dziwna sytuacja, która teraz się pojawia.

JdeBP
źródło
12

WoW64 oznacza Windows 32 na Windows 64:

WoW64 (Windows 32-bit W systemie Windows 64-bit) to podsystem systemu operacyjnego Windows, który może uruchamiać aplikacje 32-bitowe i jest dostępny we wszystkich 64-bitowych wersjach systemu Windows - w tym Windows 2000 Limited Edition, Windows XP Professional Wersje x64, IA-64 i x64 systemu Windows Server 2003, a także 64-bitowe wersje systemu Windows Vista, Windows Server 2008 i Windows 7.

dsolimano
źródło
1
Wszyscy są dziś głosowani, ale to dobra odpowiedź ... przyszłość +1
Supercereal
3

Oznacza System Windows (x32) na Windows x64. Zawiera wszystkie pliki systemowe x32 dla kompatybilności. Działa, więc aplikacje 32-bitowe mogą.

Jeff F.
źródło