Mis vahe on System32 ja SysWOW64 kaustades Windowsis?
Windowsi 64-bitistel versioonidel on teil kaks eraldi failifaili. Aga see ei lõpe seal. Sul on ka kaks eraldi süsteemi kataloogi, kuhu salvestatakse DLL-raamatukogud ja käivitatavad failid: System32 ja SysWOW64. Vaatamata nimedele on System32 täis 64-bitisi faile ja SysWOW64 on täis 32-bitisi faile. Mis siis annab?
Mis on System32?
System32 kataloog sisaldab Windowsi süsteemifaile, nii .DLL raamatukogu faile, mida kasutavad programmid kui ka .EXE programmi utiliidid, mis on Windowsi osad. Kuigi enamik siin leiduvaid faile on osa Windowsi operatsioonisüsteemist, paigaldavad kolmanda osapoole tarkvaraprogrammid mõnikord ka oma DLL-failid..
Teie süsteemis töötavad rakendused võidakse installida teie programmifailide kausta või mujale, kuid nad laadivad süsteemselt kogu süsteemi raamatukogust System32.
32-bitiste ja 64-bitiste raamatukogude eraldamine
Windowsi 64-bitisel versioonil on C-failide kaust, mis sisaldab 64-bitisi programme ja nende faile, ning C: failifaile (x86), mis sisaldab 32-bitisi programme ja nende faile. Nende failide eraldamine on kasulik, sest 64-bitised programmid vajavad 64-bitisi DLL-faile ja 32-bitised programmid vajavad 32-bitisi DLL-faile.
Kui 32-bitine programm läheb vajaliku DLL-faili laadimiseks, leiab 64-bitise versiooni ja üritab seda laadida, see kaob. 64-bitise ja 32-bitise tarkvara eraldamisega kaheks erinevaks programmifailide kaustaks tagab Windows, et nad ei hakka segunema ega põhjustanud probleeme.
Siiski ei salvestata kõiki DLL-faile programmifailides. Paljud Windowsi süsteemiga hõlmatud raamatukogud on salvestatud C: System32 ja mõned programmid kaevavad siin oma enda teeki. Niisiis, nagu Windowsil on eraldi 32-bitised ja 64-bitised programmifailide kaustad, on sellel ka eraldi 32-bitised ja 64-bitised System32 kausta versioonid.
System32 ja SysWOW64
32-bitisel arvutil salvestavad kõik 32-bitised programmid oma failid C: failifailidesse ja süsteemiülene raamatukogu asukoht on C: System32.
64-bitises arvutis salvestavad 64-bitised programmid oma failid C: failidesse ja kogu süsteemi hõlmav C: Windows System32 kaust sisaldab 64-bitisi raamatukogusid. 32-bitised programmid salvestavad oma failid C: failidesse (x86) ja kogu süsteemi hõlmav kaust on C: Windows SysWOW64.
See on kindlasti vastupidine. Vaatamata sellele, et nimes on „32”, on System32 kaustas 64-bitised teegid. Ja hoolimata 64-st nimest, sisaldab SysWOW64 kaust 32-bitiseid raamatukogusid, vähemalt Windowsi 64-bitistes versioonides.
Üldiselt ei pea te seda teadma. Windowsi operatsioonisüsteem ja kasutatavad programmid asetavad oma failid automaatselt õigesse asukohta ja kasutavad õiget kausta. Siiski, kui teil on kunagi vaja DLL-faili käsitsi installida õigesse asukohta või leida, kus see on installitud - mis on väga haruldane, peate teadma, milline on.
WOW64, selgitatud
Nime „WOW64” osa viitab siin Microsofti „Windows 32-bitisele Windows 64-bitisele” tarkvarale, mis on operatsioonisüsteemi osa. See võimaldab Windowsil käivitada 32-bitised programmid Windowsi 64-bitisel versioonil. WoW64 suunab failile juurdepääsu, et tagada programmide nõuetekohane toimimine.
Näiteks kui installite Windowsi 64-bitisele versioonile 32-bitise programmi ja proovite kirjutada kausta C: Files Files, osutab WoW64 sellele C: Failifailid (x86). Ja kui ta soovib juurdepääsu C: Windows System32 kaustale, osutab WoW64 sellele C: Windows SysWOW64. Windows teeb seda failisüsteemi ümbersuunaja abil.
See kõik toimub automaatselt ja läbipaistvalt taustal. Programm ei pea isegi teadma, et see töötab 64-bitisel operatsioonisüsteemil, mis võimaldab vanematel 32-bitistel programmidel töötada ilma muudatusteta 64-bitistel Windowsi versioonidel. WOW64 suunab ka registri juurdepääsu, tagades, et 64-bitiste ja 32-bitiste programmide jaoks on registri eraldi alad.
Nii et miks on System32 64-bitine ja SysWOW64 32-bitine?
Kõik see toob meid tagasi miljoni dollari küsimusele: Miks on kausta System32 64-bitine ja SysWOW64 32-bitine?
Vastus tundub olevat, et paljud 32-bitised rakendused on kodeeritud C: Windows System32 kataloogi kasutamiseks. Kui arendajad kompileerisid need rakendused Windowsi 64-bitiste versioonide jaoks, kasutasid nad jätkuvalt C: Windows System32 kataloogi.
Selle asemel, et nimetada nime ümber ja sundida arendajaid uuele liikuma, murdis protsessis mitmed rakendused, jättis Microsoft süsteemi32 raamatukogu kataloogi. Nad lõid WoW64 kihi all olevate rakenduste jaoks uue raamatukogu kataloogi, mida nad nimetasid "SysWOW64". Kui te sellel moel mõtlete, on nimes mõtet.
Jah, see on natuke rumal, et nimes olev „32” kataloog on nüüd 64-bitine. Võib-olla oleks Microsoft pidanud seda nägema, kui nad seda nimetasid C: Windows System32 90-ndatel aastatel. Aga kuigi lihtsam nimetamisskeem oleks tore, ei ole väärt hulk programme ja luua rohkem tööd arendajatele just selleks, et sinna jõuda. See tähendab, et läheme tulevikus System32 ja SysWOW64.