windows 7

System32 und SysWOW64 unter Windows 7

Was ist "SysWOW64" und wie funktioniert es?

Werden SysWOW64 und System32 beim Booten von Windows 7 beide im RAM verwendet/geladen?

Executive summary

Microsoft macht die Dinge manchmal rückwärts, und dies ist ein weiteres Beispiel dafür. System32 ist das 64-Bit- Windows-Systemverzeichnis und SysWOW64 ist das 32-Bit- Windows-Systemverzeichnis – genau umgekehrt zu dem, was die Verzeichnisnamen vermuten lassen.

Details

In Windows gibt es ein "Windows"-Verzeichnis und ein "System"-Verzeichnis,und das war schon immer so,als Windows noch 16-Bit war.

Windows-Programme sollen sie mithilfe von System-API-Funktionen wie SHGetKnownFolderPath() und GetSystemDirectory() finden ; und wenn alle das getan hätten, sähe die Welt an diesem Punkt ganz anders aus. Aber zu viele Leute haben den tatsächlichen Namen des Verzeichnisses, \Windows\System32 ,dummerweise fest in ihre Programme eingebaut und diese Programme dann von 32-Bit-Windows auf 64-Bit-Windows portiert. Infolgedessen suchten viele Programme nach 64-Bit- Programmen und -Bibliotheken im Verzeichnis \Windows\System32 , deren Namen sie fest verdrahtet hatten. (Ironischerweise gab es das gleiche Problem bei der Migration von 16-Bit-Windows zu 32-Bit-Windows.Das 16-Bit-Verzeichnis "System" war normalerweise \Windows\System .)

Also entschieden sich die Leute bei Microsoft, \Windows\System32 zu dem Verzeichnis zu machen, in dem native 64-Bit-Windows-Programme die ausführbaren 64-Bit-Dateien und -Bibliotheken finden würden, und da 32-Bit-Programme ohnehin auf einer Shim-Schicht laufen 64-Bit-Windows werden Zugriffe auf das „System“-Verzeichnis durch 32-Bit-Programme in ein neues \Windows\SysWOW64 - Verzeichnis umgeleitet.

Daraus ergibt sich die bizarre Situation,in der wir uns jetzt befinden.




WoW64 steht für Windows 32 auf Windows 64:

WoW64 (Windows 32-Bit On Windows 64-Bit)ist ein Subsystem des Windows-Betriebssystems,das 32-Bit-Anwendungen ausführen kann und in allen 64-Bit-Versionen von Windows enthalten ist-einschließlich Windows 2000 Limited Edition,Windows XP Professional x64 Edition,IA-64 und x64-Versionen von Windows Server 2003 sowie 64-Bit-Versionen von Windows Vista,Windows Server 2008 und Windows 7.