Wat is het verschil tussen de mappen "System32" en "SysWOW64" in Windows?

Inhoudsopgave:

Video: Wat is het verschil tussen de mappen "System32" en "SysWOW64" in Windows?

Video: Wat is het verschil tussen de mappen "System32" en "SysWOW64" in Windows?
Video: How To Use AI To Create Cinematic Smartphone Gimbal Moves 2024, Maart
Wat is het verschil tussen de mappen "System32" en "SysWOW64" in Windows?
Wat is het verschil tussen de mappen "System32" en "SysWOW64" in Windows?
Anonim
Op 64-bits versies van Windows hebt u twee afzonderlijke mappen Program Files. Maar daar houdt het niet op. U hebt ook twee afzonderlijke systeemmappen waar DLL-bibliotheken en uitvoerbare bestanden zijn opgeslagen: System32 en SysWOW64. Ondanks de namen zit System32 vol met 64-bits bestanden en SysWOW64 zit vol met 32-bits bestanden. Dus wat geeft het?
Op 64-bits versies van Windows hebt u twee afzonderlijke mappen Program Files. Maar daar houdt het niet op. U hebt ook twee afzonderlijke systeemmappen waar DLL-bibliotheken en uitvoerbare bestanden zijn opgeslagen: System32 en SysWOW64. Ondanks de namen zit System32 vol met 64-bits bestanden en SysWOW64 zit vol met 32-bits bestanden. Dus wat geeft het?

Wat is System32?

De System32-map bevat Windows-systeembestanden, zowel DLL-bibliotheekbestanden die worden gebruikt door programma's als.EXE-programmahulpprogramma's die deel uitmaken van Windows. Hoewel de meeste bestanden die u hier vindt deel uitmaken van het Windows-besturingssysteem, installeren externe softwareprogramma's soms ook hun eigen DLL-bestanden in deze map.

Toepassingen die op uw systeem worden uitgevoerd, kunnen in uw map Program Files of elders worden geïnstalleerd, maar vaak worden systeembibliotheken vanuit de map System32 geladen.

Scheiden van 32-bits en 64-bits bibliotheken

Op een 64-bits versie van Windows hebt u een map C: Program Files met 64-bits programma's en hun bestanden en een map C: Program Files (x86) met 32-bits programma's en hun bestanden. Het is handig dat deze bestanden worden gescheiden, omdat 64-bits programma's 64-bits DLL-bestanden nodig hebben en 32-bits programma's 32-bits DLL-bestanden nodig hebben.
Op een 64-bits versie van Windows hebt u een map C: Program Files met 64-bits programma's en hun bestanden en een map C: Program Files (x86) met 32-bits programma's en hun bestanden. Het is handig dat deze bestanden worden gescheiden, omdat 64-bits programma's 64-bits DLL-bestanden nodig hebben en 32-bits programma's 32-bits DLL-bestanden nodig hebben.

Als een 32-bits programma een DLL-bestand gaat laden dat het nodig heeft, een 64-bits versie zoekt en probeert het te laden, zal het crashen. Door 64-bits en 32-bits software te scheiden in twee verschillende programmabestandenmappen, zorgt Windows ervoor dat ze niet door elkaar worden gehaald en problemen veroorzaken.

Niet alle DLL-bestanden worden echter opgeslagen in Program Files. Veel systeembrede bibliotheken die bij Windows zijn geleverd, worden opgeslagen in C: System32 en sommige programma's dumpen hier ook hun eigen bibliotheekbestanden. Dus net als Windows afzonderlijke 32-bits en 64-bits programmabestandenmappen heeft, heeft het ook aparte 32-bits en 64-bits versies van de System32-map.

System32 en SysWOW64

Op een 32-bits computer slaan alle 32-bits programma's hun bestanden op in C: Program Files en de systeembrede bibliotheeklocatie is C: System32.

Op een 64-bits computer slaan 64-bits programma's hun bestanden op in C: Program Files en de systeemomvattende map C: Windows System32 bevat 64-bits bibliotheken. 32-bits programma's slaan hun bestanden op in C: Program Files (x86) en de systeemomvattende map is C: Windows SysWOW64.

Dit is absoluut contra-intuïtief. Ondanks de "32" in de naam, bevat de map System32 64-bits bibliotheken. En ondanks de 64 in de naam bevat de map SysWOW64 32-bits bibliotheken-tenminste op 64-bits versies van Windows.

Over het algemeen hoeft u dit niet te weten. Het Windows-besturingssysteem en de programma's die u gebruikt, plaatsen hun bestanden automatisch op de juiste locatie en gebruiken de juiste map. Als u echter ooit een DLL-bestand handmatig op de juiste locatie moet installeren of wilt zoeken waar het is geïnstalleerd (wat zeer zeldzaam is), moet u weten wat dat is.

WOW64, Explained

Het gedeelte "WOW64" van de naam verwijst hier naar Microsofts "Windows 32-bit op Windows 64-bit" -software, die deel uitmaakt van het besturingssysteem. Hierdoor kan Windows 32-bits programma's uitvoeren op een 64-bits versie van Windows. WoW64 leidt bestandstoegang om om ervoor te zorgen dat programma's correct werken.

Als u bijvoorbeeld een 32-bits programma installeert op een 64-bits versie van Windows en probeert te schrijven naar de map C: Program Files, wijst WoW64 dit naar C: Program Files (x86). En als het de map C: Windows System32 wil openen, wijst WoW64 het naar C: Windows SysWOW64. Windows doet dit met behulp van een bestandssysteem redirector.

Dit gebeurt allemaal automatisch en transparant op de achtergrond. Het programma hoeft niet eens te weten dat het wordt uitgevoerd op een 64-bits besturingssysteem, waardoor oudere 32-bits programma's zonder aanpassingen kunnen worden uitgevoerd op 64-bits versies van Windows. WOW64 leidt ook de registertoegang om, zodat er afzonderlijke delen van het register zijn voor 64-bits en 32-bits programma's.

Dus waarom is System32 64-bit en SysWOW64 32-bit?

Dat alles brengt ons terug naar de vraag van een miljoen dollar: waarom is de "System32" -map 64-bit en SysWOW64 32-bit?

Het antwoord lijkt te zijn dat veel 32-bits applicaties hardcoded zijn om de map C: Windows System32 te gebruiken. Toen ontwikkelaars deze toepassingen opnieuw compileerden voor 64-bits versies van Windows, bleven ze de directory C: Windows System32 gebruiken.

In plaats van de naam van de map te wijzigen en ontwikkelaars te dwingen naar de nieuwe te gaan, waardoor veel toepassingen werden verbroken, verliet Microsoft "System32" als de standaarddirectory van de systeembibliotheek. Ze hebben een nieuwe bibliotheekmap gemaakt voor toepassingen die worden uitgevoerd onder de WoW64-laag, die ze "SysWOW64" hebben genoemd. Als je er zo over nadenkt, is de naam logischer.

Ja, het is een beetje dwaas dat een directory met "32" in de naam nu 64-bit is. Misschien had Microsoft dat moeten zien aankomen toen ze het in de jaren 90 C: Windows System32 noemden. Maar hoewel een eenvoudiger systeem van naamgeving leuk zou zijn, is het niet de moeite waard een aantal programma's te verbreken en meer werk voor ontwikkelaars te creëren om er maar heen te komen. Dat betekent dat we vastzitten met System32 en SysWOW64 voor de nabije toekomst.

Aanbevolen: