Mis vahe on Windowsi kaustade "System32" ja "SysWOW64" vahel?
Windowsi 64-bitistes versioonides on teil kaks eraldi programmifailide kausta. Kuid see ei lõpe sellega. Teil on ka kaks eraldi süsteemikataloogi, kuhu on salvestatud DLL-i teegid ja käivitatavad failid: System32 ja SysWOW64. Nimedest hoolimata on System32 täis 64-bitiseid faile ja SysWOW64 32-bitiseid faile. Mis siis annab?
Mis on System32?
SEOTUD:Mis on DLL-failid ja miks üks minu arvutist puudub?
System32 kataloog sisaldab Windowsi süsteemifaile, nii .DLL-teegi faile, mida kasutavad programmid, kui ka .EXE-programmi utiliite, mis on Windowsi osa. Kuigi enamik siin leiduvaid faile on osa Windowsi opsüsteemist, installivad kolmandate osapoolte tarkvaraprogrammid mõnikord ka oma kausta sellesse kausta oma DLL-failid.
Teie süsteemis töötavad rakendused võivad olla installitud kausta Program Files või mujale, kuid need laadivad sageli kogu süsteemi hõlmavaid teeke kaustast System32.
32- ja 64-bitiste raamatukogude eraldamine
SEOTUD:Mis vahe on Windowsi kaustade "Program Files (x86)" ja "Program Files" vahel?
Windowsi 64-bitises versioonis on teil kaust C: \ Program Files, mis sisaldab 64-bitiseid programme ja nende faile, ning C: \ Program Files (x86) kaust, mis sisaldab 32-bitiseid programme ja nende faile. Nende failide eraldamine on kasulik, sest 64-bitised programmid vajavad 64-bitiseid DLL-faile ja 32-bitised programmid 32-bitiseid DLL-faile.
Kui 32-bitine programm laadib vajaliku DLL-faili, leiab 64-bitise versiooni ja proovib seda laadida, siis see jookseb kokku. Eraldades 64- ja 32-bitise tarkvara kaheks erinevaks kausta Program Files, tagab Windows, et need ei segune ega tekitaks probleeme.
Kõiki DLL-faile ei salvestata siiski programmifailidesse. Paljud Windowsi juurde kuuluvad kogu süsteemi hõlmavad teegid on salvestatud kausta C: \ System32 ja mõned programmid paigutavad siia ka oma teegifailid. Nii nagu Windowsil on eraldi 32- ja 64-bitised kaustad Program Files, on ka kaustas System32 eraldi 32- ja 64-bitised versioonid.
System32 ja SysWOW64
32-bitises arvutis salvestavad kõik 32-bitised programmid oma failid kausta C: \ Program Files ja kogu süsteemi hõlmav teegi asukoht on C: \ System32.
64-bitises arvutis salvestavad 64-bitised programmid oma failid kausta C: \ Program Files ja kogu süsteemi hõlmav kaust C: \ Windows \ System32 sisaldab 64-bitiseid teeke. 32-bitised programmid salvestavad oma failid kausta C: \ Program Files (x86) ja kogu süsteemi hõlmav kaust on C: \ Windows \ SysWOW64.
See on kindlasti vastuoluline. Hoolimata nimest 32, sisaldab System32 kaust 64-bitiseid teeke. Vaatamata nimes olevale 64-le sisaldab kaust SysWOW64 32-bitiseid teeke - vähemalt Windowsi 64-bitistes versioonides.
Üldiselt ei pea te seda teadma. Windowsi opsüsteem ja teie kasutatavad programmid paigutavad nende failid automaatselt õigesse kohta ja kasutavad õiget kausta. Kuid kui peate kunagi installima DLL-faili käsitsi õigesse kohta või leidma, kuhu see on installitud - mis on väga haruldane - peate teadma, kumb on.
WOW64, selgitatud
SEOTUD:Miks on enamik programme Windowsi 64-bitises versioonis endiselt 32-bitised?
Nime osa „WOW64” viitab Microsofti tarkvarale „Windows 32-bitine Windows 64-bitisel”, mis on osa operatsioonisüsteemist. See võimaldab Windowsil 32-bitiseid programme käitada Windowsi 64-bitises versioonis. WoW64 suunab failidele juurdepääsu, et tagada programmide korralik töö.
Näiteks kui installite 32-bitise programmi Windowsi 64-bitisele versioonile ja see üritab kirjutada kausta C: \ Program Files, osutab WoW64 selle C: \ Program Files (x86). Ja kui ta soovib juurde pääseda kausta C: \ Windows \ System32, osutab WoW64 selle punktile C: \ Windows \ SysWOW64. Windows teeb seda failisüsteemi ümbersuunaja abil.
See kõik toimub taustal automaatselt ja läbipaistvalt. Programm ei pea isegi teadma, et see töötab 64-bitises operatsioonisüsteemis, mis võimaldab vanematel 32-bitistel programmidel ilma muudatusteta töötada Windowsi 64-bitistes versioonides. WOW64 suunab ka registrile juurdepääsu, tagades, et 64- ja 32-bitiste programmide jaoks on registris eraldi piirkonnad.
Miks on System32 64-bitine ja SysWOW64 32-bitine?
Kõik see toob meid tagasi miljoni dollari küsimuse juurde: miks on kaust System32 64-bitine ja SysWOW64 32-bitine?
Vastus näib olevat, et paljud 32-bitised rakendused kodeeriti kõvakoodiga kataloogi C: \ Windows \ System32 kasutamiseks. Kui arendajad kompileerisid need rakendused Windowsi 64-bitiste versioonide jaoks uuesti, jätkasid nad kataloogi C: \ Windows \ System32 kasutamist.
Selle asemel, et kataloogi ümber nimetada ja arendajaid uuele sundida sundida, lõhkudes protsessis paljusid rakendusi, jättis Microsoft standardse süsteemiteegi kataloogiks “System32”. Nad lõid WoW64 kihi all töötavate rakenduste jaoks uue teegikataloogi, mille nad nimetasid "SysWOW64". Nii mõeldes on nimi mõistlikum.
Jah, see on natuke rumal, et kataloog, mille nimes on "32", on nüüd 64-bitine. Võib-olla oleks pidanud Microsoft seda nägema, kui nad nimetasid selle 90ndatel C: \ Windows \ System32. Kuid kuigi sirgjoonelisem nimetamisskeem oleks tore, ei tasu hunnik programme lõhkuda ja arendajatele rohkem tööd luua, et lihtsalt sinna jõuda. See tähendab, et oleme lähitulevikus jäänud System32 ja SysWOW64 juurde.