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?
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?
Odpowiedzi:
Microsoft czasami robi rzeczy wstecz i jest to kolejny przykład tego. System32
jest 64-bitowym katalogiem systemu Windows i SysWOW64
jest 32-bitowym katalogiem systemu Windows - całkowicie odwrotnie niż sugerują nazwy katalogów.
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\System32
do 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\System32
katalogu, 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\System32
katalog, 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\SysWOW64
katalogu.
Stąd dziwna sytuacja, która teraz się pojawia.
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.