Domača » kako » Kakšna je razlika med mapama »System32« in »SysWOW64« v sistemu Windows?

    Kakšna je razlika med mapama »System32« in »SysWOW64« v sistemu Windows?

    V 64-bitnih različicah sistema Windows imate dve ločeni mapi Program Files. Toda to se ne konča. Imate tudi dva ločena sistemska imenika, kjer so shranjeni knjižnice DLL in izvedljive datoteke: System32 in SysWOW64. Kljub imenam je System32 poln 64-bitnih datotek, SysWOW64 pa je poln 32-bitnih datotek. Torej, kaj daje?

    Kaj je System32?

    Imenik System32 vsebuje sistemske datoteke Windows, tako knjižnične datoteke .DLL, ki jih uporabljajo programi, kot tudi programske pripomočke .EXE, ki so del sistema Windows. Medtem ko je večina datotek, ki jih najdete tukaj, del operacijskega sistema Windows, programi drugih proizvajalcev včasih namestijo svoje lastne datoteke DLL tudi v to mapo..

    Aplikacije, ki se izvajajo v sistemu, so lahko nameščene v mapi Programske datoteke ali drugje, vendar pogosto naložijo sistemske knjižnice iz mape System32..

    Ločevanje 32-bitnih in 64-bitnih knjižnic

    V 64-bitni različici sistema Windows imate mapo C: Programne datoteke, ki vsebuje 64-bitne programe in njihove datoteke, ter mapo C: Programske datoteke (x86), ki vsebuje 32-bitne programe in njihove datoteke. Pomembno je, da so te datoteke ločene, ker 64-bitni programi potrebujejo 64-bitne datoteke DLL, 32-bitni programi pa potrebujejo 32-bitne datoteke DLL.

    Če 32-bitni program naloži potrebno datoteko DLL, najde 64-bitno različico in jo poskuša naložiti. Če ločite 64-bitno in 32-bitno programsko opremo v dve različni mapi Program Files, Windows zagotovi, da se ne bodo pomešali in povzročili težave..

    Vendar pa vse datoteke DLL niso shranjene v programskih datotekah. Številne sistemske knjižnice, ki so vključene v sistem Windows, so shranjene v sistemu C: System32, nekateri programi pa tudi tukaj izvajajo svoje lastne knjižnične datoteke. Torej, tako kot Windows ima ločene 32-bitne in 64-bitne mape Program Files, ima tudi ločene 32-bitne in 64-bitne različice mape System32..

    System32 in SysWOW64

    Na 32-bitnem računalniku vsi 32-bitni programi shranjujejo svoje datoteke v C: Programske datoteke, mesto knjižnice za celotno sistemsko okolje pa je C: \ t.

    64-bitni programi na 64-bitnem računalniku shranjujejo svoje datoteke v C: Programske datoteke in sistemsko C: Mapa Windows System32 vsebuje 64-bitne knjižnice. 32-bitni programi shranjujejo svoje datoteke v C: Programske datoteke (x86), sistemska mapa pa C: Windows SysWOW64 \ t.

    To je vsekakor nasprotno. Kljub »32« v imenu, mapa System32 vsebuje 64-bitne knjižnice. In kljub 64 v imenu, mapa SysWOW64 vsebuje 32-bitne knjižnice - vsaj v 64-bitnih različicah operacijskega sistema Windows.

    Na splošno tega ne boste morali vedeti. Operacijski sistem Windows in programi, ki jih uporabljate, samodejno postavijo datoteke na pravo mesto in uporabijo pravilno mapo. Vendar, če boste kdaj morali ročno namestiti datoteko DLL na pravo mesto ali najti, kje je nameščen, kar je zelo redko, boste morali vedeti, katera je.

    WOW64, Explained

    Del imena »WOW64« se tukaj nanaša na Microsoftovo »32-bitno Windows 64-bitno« programsko opremo, ki je del operacijskega sistema. To sistemu Windows omogoča, da izvaja 64-bitne programe v 64-bitni različici sistema Windows. WoW64 preusmerja dostop do datotek za zagotovitev pravilnega delovanja programov.

    Na primer, če namestite 32-bitni program na 64-bitno različico sistema Windows in poskuša pisati v mapo C: Programske datoteke, jo WoW64 kaže v C: Programske datoteke (x86). In če želi dostopati do mape C: Windows System32, jo WoW64 kaže v C: Windows SysWOW64. Windows to stori s preusmerjevalnikom datotečnega sistema.

    Vse se zgodi samodejno in pregledno v ozadju. Programu ni treba niti vedeti, da se izvaja v 64-bitnem operacijskem sistemu, kar starejšim 32-bitnim programom omogoča izvajanje brez sprememb v 64-bitnih različicah sistema Windows. WOW64 prav tako preusmerja dostop do registra, s čimer zagotavlja, da sta ločena področja registra za 64-bitne in 32-bitne programe.

    Torej, zakaj je System32 64-bitni in SysWOW64 32-bitni?

    Vse to nas pripelje nazaj na vprašanje za milijon dolarjev: Zakaj je mapa »System32« 64-bitna in 32-bitna SysWOW64?

    Odgovor je, da je bilo veliko 32-bitnih aplikacij trdo oblikovanih za uporabo imenika C: Windows System32. Ko so razvijalci preuredili te aplikacije za 64-bitne različice sistema Windows, so še naprej uporabljali imenik C: Windows System32.

    Namesto preimenovanja imenika in prisiljevanja razvijalcev, da se premaknejo na novega, kar je v postopku prekinilo številne aplikacije, je Microsoft zapustil »System32« kot standardni imenik sistemske knjižnice. Ustvarili so nov imenik knjižnic za aplikacije, ki se izvajajo v sloju WoW64, ki so ga poimenovali »SysWOW64«. Ko razmišljate o tem na ta način, je ime bolj smiselno.

    Da, malo je neumno, da je imenik z imenom "32" zdaj 64-bitni. Morda bi Microsoft moral to videti, ko so ga poimenovali C: Windows System 32 v 90. letih. Ampak, čeprav bi bilo bolj preprosto poimenovanje shema bi bilo lepo, da ni vredno prekinil veliko programov in ustvarjanje več dela za razvijalce samo, da tja. To pomeni, da smo v bližnji prihodnosti obtičali s sistemoma System32 in SysWOW64.