Mis vahe on Windowsi süsteemide "System32" ja "SysWOW64" vahelised erinevused?

Sisukord:

Mis vahe on Windowsi süsteemide "System32" ja "SysWOW64" vahelised erinevused?
Mis vahe on Windowsi süsteemide "System32" ja "SysWOW64" vahelised erinevused?
Anonim
Windowsi 64-bitistel versioonidel on kaht erinevat programmifaili kaust. Kuid see ei lõpe seal. Teil on ka kaks eraldi kataloogi, kus DLL-i raamatukogud ja käivitatavad failid salvestatakse: System32 ja SysWOW64. Vaatamata nimedele on System32 täis 64-bitiseid faile ja SysWOW64 on täis 32-bitiseid faile. Mis siis annab?
Windowsi 64-bitistel versioonidel on kaht erinevat programmifaili kaust. Kuid see ei lõpe seal. Teil on ka kaks eraldi kataloogi, kus DLL-i raamatukogud ja käivitatavad failid salvestatakse: System32 ja SysWOW64. Vaatamata nimedele on System32 täis 64-bitiseid faile ja SysWOW64 on täis 32-bitiseid faile. Mis siis annab?

Mis on System32?

System32-kataloog sisaldab Windowsi süsteemifaile, mõlemad.DLL-i teegifailid, mida kasutavad programmid ja Windowsi osa kuuluvad programmikomponendid.EXE. Kuigi enamus siin leiduvatest failidest on osa Windowsi operatsioonisüsteemist, asuvad kolmandate osapoolte tarkvaraprogrammid mõnikord ka selle kausta jaoks oma DLL-faile.

Teie süsteemis käivitatavad rakendused võivad olla installitud kausta Program Files või mujale, kuid need laadivad sageli süsteemiülese kogu kaustast System32.

32-bitise ja 64-bitise raamatukogude eraldamine

Windowsi 64-bitisel versioonil on C: Program Files kaust, mis sisaldab 64-bitiseid programme ja nende faile ning kaust C: Program Files (x86), mis sisaldab 32-bitiseid programme ja nende faile. See on kasulik nende failide eraldamiseks, sest 64-bitised programmid vajavad 64-bitiseid DLL-faile ja 32-bitised programmid vajavad 32-bitiseid DLL-faile.
Windowsi 64-bitisel versioonil on C: Program Files kaust, mis sisaldab 64-bitiseid programme ja nende faile ning kaust C: Program Files (x86), mis sisaldab 32-bitiseid programme ja nende faile. See on kasulik nende failide eraldamiseks, sest 64-bitised programmid vajavad 64-bitiseid DLL-faile ja 32-bitised programmid vajavad 32-bitiseid DLL-faile.

Kui 32-bitine programm läheb DLL-faili laadimiseks, vajab see, leiab 64-bitise versiooni ja proovib seda laadida, see krahh. Kui eraldate 64-bitise ja 32-bitise tarkvara kahte erinevatesse programmifailide kaustadesse, siis tagab Windows, et need ei segaks ega tekitaks probleeme.

Kuid mitte kõik DLL-failid ei salvestata programmi failidesse. Paljud kogu süsteemiga hõlmatud Windowsi raamatukogud on salvestatud C: System32-sse ja mõned programmid ka siin oma raamatukogu failid. Niisiis, nagu ka Windowsil on eraldi 32- ja 64-bitine programmifailide kaustad, on ka see kausta System32 eraldi 32- ja 64-bitiste versioonidega.

System32 ja SysWOW64

32-bitise arvutiga salvestavad kõik 32-bitised programmid oma failid C: Program Files'ist ja kogu-kogu raamatukogu asukoht on C: System32.

64-bitise arvutiga salvestavad 64-bitised programmid failid C: Program Files'ist ja kogu süsteemi C: Windows System32 kaust sisaldab 64-bitiseid raamatukogusid. 32-bitised programmid salvestavad failid C: Program Files (x86) ja kogu süsteemi kaust on C: Windows SysWOW64.

See on kindlasti vastuoluline. Vaatamata nimele "32", sisaldab kaust System32 64-bitist raamatukogu. Ja vaatamata 64 nimele, sisaldab kaust SysWOW64 32-bitist raamatukogu - vähemalt Windowsi 64-bitiste versioonidega.

Üldiselt ei pea te seda teadma. Windowsi operatsioonisüsteem ja programmid, mida te kasutate, paigutavad failid õigesse asukohta ja kasutavad õiget kausta. Kuid 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, mis on see.

WOW64, Explained

Näiteks kui installite Windowsi 64-bitise versiooni 32-bitise programmi ja ta üritab kirjutada kausta C: Program Files, märgib WoW64 seda C: Program Files (x86). Ja kui ta soovib juurdepääsu kausta C: Windows System32, märgib WoW64 seda aadressil C: Windows SysWOW64. Windows kasutab seda failisüsteemi redirektori abil.

See kõik juhtub taustal automaatselt ja läbipaistvalt. Programm ei pea isegi teadma, et see töötab 64-bitisel operatsioonisüsteemil, mis võimaldab vanematel 32-bitistel programmidel Windowsi 64-bitiste versioonideta muutmata töötada. WOW64 redigeerib ka registrile juurdepääsu, tagades 64-bitiste ja 32-bitiste programmide jaoks registri eraldiseisvad valdkonnad.

Miks on System32 64-bitine ja 32-bitine SysWOW64?

Kõik see toob meid tagasi miljoni dollariga seotud küsimusele: miks 64-bitine kaust System32 ja 32-bitine SysWOW64?

Vastus näib olevat see, et paljud 32-bitised rakendused olid kõvakoodiga, et kasutada kataloogi C: Windows System32. Kui arendajad kompileerisid need rakendused Windowsi 64-bitiste versioonide jaoks, jätkasid nad C: Windows System32 kataloogi kasutamist.

Selle asemel, et ümber nimetada kataloog ja sundida arendajaid uuele versioonile üle minema, purustades paljud rakendused selles protsessis, jätsid Microsoft süsteemi süsteemikataloogi kataloogi "System32". Nad loonud uue WoW64 kihi all olevate rakenduste kataloogi, mida nad nimetasid "SysWOW64". Kui te seda mõelnud mõeldate, on nimi mõistlikum.

Jah, on natuke rumal, et nimega "32" kataloog on nüüd 64-bitine. Võibolla oleks Microsoft pidanud seda tulema, kui nad nimetasid selle 90. aastatel C: Windows System32. Kuigi otsesem nimetamiskava oleks tore, ei ole väärt jagada paljusid programme ja luua rohkem tööd arendajatele, vaid selleks, et sinna jõuda. See tähendab, et lähemas tulevikus on meil süsteem32 ja SysWOW64-ga kinni.

Soovitan: