Aký je rozdiel medzi priečinkami System32 a SysWOW64 v systéme Windows?
V 64-bitových verziách systému Windows máte dve samostatné priečinky programových súborov. Ale to tam nekončí. Máte tiež dva samostatné systémové adresáre, kde sú uložené knižnice DLL a spustiteľné súbory: System32 a SysWOW64. Napriek názvom, System32 je plný 64-bitových súborov a SysWOW64 je plný 32-bitových súborov. Takže čo dáva?
Čo je systém32?
Adresár System32 obsahuje systémové súbory systému Windows, obe súbory knižnice DLL používané programami a programové nástroje .EXE, ktoré sú súčasťou systému Windows. Zatiaľ čo väčšina súborov, ktoré nájdete tu, je súčasťou operačného systému Windows, softvérové programy tretích strán niekedy inštalujú do tejto zložky svoje vlastné súbory DLL.
Aplikácie spustené vo vašom systéme môžu byť nainštalované vo vašom priečinku Program Files alebo inde, ale často načítavajú celoobvodové knižnice zo zložky System32.
Oddeľovanie 32-bitových a 64-bitových knižníc
V 64-bitovej verzii systému Windows máte priečinok C: \ Program Files obsahujúci 64-bitové programy a ich súbory a priečinok C: \ Program Files (x86) obsahujúci 32-bitové programy a ich súbory. Je užitočné, aby tieto súbory boli oddelené, pretože 64-bitové programy potrebujú 64-bitové DLL súbory a 32-bitové programy potrebujú 32-bitové DLL súbory.
Ak 32-bitový program ide na načítanie súboru DLL, ktorý potrebuje, nájde 64-bitovú verziu a pokúsi sa ho načítať, zlyhá. Oddelením 64-bitového a 32-bitového softvéru do dvoch rôznych priečinkov programových súborov zabezpečuje systém Windows, že sa nezmiešajú a nespôsobujú problémy.
Nie všetky súbory DLL sú však uložené v programových súboroch. Mnoho systémových knižníc, ktoré sú súčasťou systému Windows, je uložené v systéme C: \ System32 a niektoré programy tiež vypisujú svoje vlastné súbory knižnice. Takže rovnako ako Windows má oddelené 32-bitové a 64-bitové priečinky programových súborov, má aj samostatné 32-bitové a 64-bitové verzie priečinka System32.
System32 a SysWOW64
Na 32-bitovom počítači všetky 32-bitové programy ukladajú svoje súbory do súborov C: \ Program Files a celoplošné umiestnenie knižnice je C: \ System32.
V 64-bitovom počítači ukladajú 64-bitové programy svoje súbory do súborov C: \ Program Files a priečinok C: \ Windows \ System32 v celom systéme obsahuje 64-bitové knižnice. 32-bitové programy ukladajú svoje súbory do súborov C: \ Program Files (x86) a priečinok v celom systéme je C: \ Windows \ SysWOW64.
To je určite protiinštitucionálne. Napriek názvu "32", priečinok System32 obsahuje 64-bitové knižnice. A napriek 64 v názve, priečinok SysWOW64 obsahuje 32-bitové knižnice - prinajmenšom v 64-bitových verziách systému Windows.
Vo všeobecnosti to nebudete potrebovať. Operačný systém Windows a programy, ktoré používate, umiestnia svoje súbory na správne miesto a použijú správny priečinok. Ak však budete musieť manuálne nainštalovať súbor DLL na správnom mieste alebo zistiť, kde je nainštalovaný, čo je veľmi zriedkavé, budete potrebovať vedieť, ktorý z nich je.
WOW64, vysvetlil
Časť názvu "WOW64" tu odkazuje na softvér spoločnosti Microsoft "Windows 32-bit na 64-bitovom systéme Windows", ktorý je súčasťou operačného systému. To umožňuje systému Windows spustiť 32-bitové programy v 64-bitovej verzii systému Windows. WoW64 presmerováva prístup k súborom, aby zabezpečil správne fungovanie programov.
Ak napríklad na 64-bitovú verziu systému Windows nainštalujete 32-bitový program a pokúsite sa zapísať do priečinka C: \ Program Files, WoW64 to ukáže na C: \ Program Files (x86). A ak chce získať prístup do priečinka C: \ Windows \ System32, WoW64 to ukáže na C: \ Windows \ SysWOW64. Systém Windows to robí pomocou presmerovania súborového systému.
To všetko sa deje automaticky a transparentne na pozadí. Program ani nemusí vedieť, že je spustený na 64-bitovom operačnom systéme, čo umožňuje, aby staršie 32-bitové programy bežali bez zmeny v 64-bitových verziách systému Windows. Služba WOW64 tiež presmerováva prístup do registra a zabezpečuje, aby existovali oddelené oblasti registra pre 64-bitové a 32-bitové programy.
Takže prečo je System32 64-bit a SysWOW64 32-bit?
To všetko nás prináša späť na milión dolárovú otázku: Prečo je 64-bitová zložka "System32" a 32-bit SysWOW64?
Odpoveď sa zdá byť, že mnoho 32-bitových aplikácií bolo hardcoded použiť adresár C: \ Windows \ System32. Keď vývojári kompilovali tieto aplikácie pre 64-bitové verzie systému Windows, pokračovali v používaní adresára C: \ Windows \ System32.
Namiesto premenovania adresára a nútenia vývojárov presunúť sa na nový, rozbitie mnohých aplikácií v procese, Microsoft opustil "System32" ako štandardný adresár systémovej knižnice. Vytvorili nový adresár knižníc pre aplikácie spustené pod vrstvou WoW64, ktoré nazvali "SysWOW64". Keď o tom premýšľate, toto meno má väčší zmysel.
Áno, je trochu hlúpe, že adresár s názvom "32" v názve je teraz 64-bitový. Možno, že spoločnosť Microsoft mala vidieť, že prichádza, keď ju v 90. rokoch nazvali C: \ Windows \ System32. Ale aj keď jednoduchší pomenovanie schémy by bolo pekné, nestojí za to, že by sme roztrhali veľa programov a vytvorili viac práce pre vývojárov, aby sme sa tam dostali. Znamená to, že v dohľadnej budúcnosti budeme mať systém System32 a SysWOW64.