windows 7

System32 et SysWOW64 sur Windows 7

Qu'est-ce que "SysWOW64" et comment fonctionne-t-il ?

Est-ce que SysWOW64 et System32 sont tous deux utilisés/chargés dans la RAM pendant le démarrage de Windows 7 ?

Executive summary

Microsoft fait parfois les choses à l'envers, et ceci en est un autre exemple. System32 est le répertoire système Windows 64 bits et SysWOW64 est le répertoire système Windows 32 bits - tout à fait à l'opposé de ce que les noms de répertoire suggèrent.

Details

Dans Windows,il existe un répertoire "Windows" et un répertoire "Système",et ce depuis l'époque où Windows était un système 16 bits.

Les programmes Windows sont censés les localiser à l'aide des fonctions de l'API système telles que SHGetKnownFolderPath() et GetSystemDirectory() ; et si tout le monde avait fait cela, le monde serait tout à fait différent à ce stade. Mais trop de gens ont stupidement câblé le nom réel du répertoire, \Windows\System32 , dans leurs programmes, puis ont porté ces programmes de Windows 32 bits vers Windows 64 bits. En conséquence, de nombreux programmes recherchaient des exécutables et des bibliothèques 64 bits dans le répertoire \Windows\System32 , dont ils avaient câblé le nom. (Ironiquement, il y avait le même problème lors de la migration de Windows 16 bits vers Windows 32 bits.Le répertoire "Système" 16 bits était \Windows\System , généralement .)

Ainsi, les gens de Microsoft ont choisi de faire de \Windows\System32 le répertoire dans lequel les programmes Windows natifs 64 bits trouveraient les exécutables et les bibliothèques 64 bits, et, puisque les programmes 32 bits s'exécutent de toute façon sur une couche de shim dans Windows 64 bits , les accès au répertoire "Système" par les programmes 32 bits sont redirigés vers un nouveau répertoire \Windows\SysWOW64 .

D'où la situation bizarre qui prévaut aujourd'hui.




WoW64 signifie Windows 32 sur Windows 64 :

WoW64 (Windows 32 bits sur Windows 64 bits)est un sous-système du système d'exploitation Windows capable d'exécuter des applications 32 bits et inclus dans toutes les versions 64 bits de Windows-notamment Windows 2000 Limited Edition,Windows XP Professional x64 Edition,les versions IA-64 et x64 de Windows Server 2003,ainsi que les versions 64 bits de Windows Vista,Windows Server 2008 et Windows 7.