Aký je rozdiel medzi priečinkami "System32" a "SysWOW64" v systéme Windows?

Obsah:

Aký je rozdiel medzi priečinkami "System32" a "SysWOW64" v systéme Windows?
Aký je rozdiel medzi priečinkami "System32" a "SysWOW64" v systéme Windows?

Video: Aký je rozdiel medzi priečinkami "System32" a "SysWOW64" v systéme Windows?

Video: Aký je rozdiel medzi priečinkami "System32" a "SysWOW64" v systéme Windows?
Video: TOP 10 Tajné funkce mobilu o kterých 90% lidí neví - YouTube 2024, Marec
Anonim
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 je systém 32 plný 64-bitových súborov a SysWOW64 je plný 32-bitových súborov. Takže čo dáva?
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 je systém 32 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, ako sú súbory knižnice.DLL používané programami, tak programové nástroje.EXE, ktoré sú súčasťou systému Windows. Zatiaľ čo väčšina súborov, ktoré nájdete tu, sú súčasťou operačného systému Windows, softvérové programy tretích strán niekedy inštalujú do tohto priečinka aj 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 zavádzajú systémové 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.
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.

Avšak nie všetky súbory DLL sú 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 ako Windows má oddelené 32-bitové a 64-bitové priečinky programových súborov, má tiež 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.

Na 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 protiintuitívne. 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, umiestňujú svoje súbory na správne miesto a používajú správny priečinok. Ak však budete musieť manuálne nainštalovať súbor DLL na správne miesto alebo zistiť, kde je inštalovaný, čo je veľmi zriedkavé, budete potrebovať vedieť, ktorý z nich je.

WOW64, vysvetlil

Ak napríklad nainštalujete 32-bitový program na 64-bitovú verziu systému Windows 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, ktorý umožňuje starším 32-bitovým programom bežať bez úpravy v 64-bitových verziách systému Windows. WOW64 tiež presmerováva prístup do registra a zabezpečuje, aby existovali oddelené oblasti registra pre 64-bitové a 32-bitové programy.

Tak 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-bitová SysWOW64?

Odpoveď sa zdá byť, že mnoho 32-bitové aplikácie boli 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 spúšťané pod vrstvou WoW64, ktoré nazvali "SysWOW64". Keď o tom premýšľate, názov 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 deväťdesiatych rokoch nazvali C: Windows System32. Ale aj keď jednoduchšia pomenovanie 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 blízkej budúcnosti zostávame v systéme System32 a SysWOW64.

Odporúča: