If-Koubou

Mikä on ero System32- ja SysWOW64-kansioiden välillä Windowsissa?

Mikä on ero System32- ja SysWOW64-kansioiden välillä Windowsissa? (Miten)

Windowsin 64-bittisissä versioissa sinulla on kaksi erillistä Program Files -kansiota. Mutta se ei pääty sinne. Sinulla on myös kaksi erillistä järjestelmähakemistoa, joissa tallennetaan DLL-kirjastoja ja suoritustiedostoja: System32 ja SysWOW64. Nimistä huolimatta System32 on täynnä 64-bittisiä tiedostoja ja SysWOW64 on täynnä 32-bittisiä tiedostoja. Joten mitä antaa?

Mikä on System32?

System32-hakemisto sisältää Windows-järjestelmätiedostot, sekä .DLL-kirjastotiedostot, joita ohjelmat ja .EXE-apuohjelmat käyttävät, jotka ovat osa Windowsia. Vaikka useimmat täällä olevat tiedostot ovat osa Windows-käyttöjärjestelmää, kolmannen osapuolen ohjelmistot toisinaan asentavat omat DLL-tiedostot myös tähän kansioon.

Järjestelmäsi käynnissä olevat sovellukset voivat olla asennettuna Ohjelmatiedostot-kansioon tai muualle, mutta ne usein lataavat järjestelmällisiä kirjastoja System32-kansiosta.

32- ja 64-bittisten kirjastojen erottaminen

Windowsin 64-bittisessä versiossa on 64-bittisiä ohjelmia ja niiden tiedostoja sisältävä C: \ Program Files -kansiota ja 32-bittisiä ohjelmia ja niiden tiedostoja sisältävä C: \ Program Files (x86) -kansio. On hyödyllistä, että nämä tiedostot erotetaan, koska 64-bittiset ohjelmat tarvitsevat 64-bittisiä DLL-tiedostoja ja 32-bittiset ohjelmat tarvitsevat 32-bittisiä DLL-tiedostoja.

Jos 32-bittinen ohjelma lataa tarvittavan DLL-tiedoston, löytää 64-bittisen version ja yrittää ladata sen, se kaatuu. Erottamalla 64-bittinen ja 32-bittinen ohjelmisto kahteen eri Program Files -kansiin, Windows varmistaa, että ne eivät sekoitu ja aiheuttaneet ongelmia.

Kaikki DLL-tiedostot eivät kuitenkaan tallennu ohjelmatiedostoihin. Monet Windows-järjestelmäkokoelmaan tallennetut kirjastot tallennetaan C: \ System32: een, ja jotkut ohjelmat myös poistavat omat kirjastotiedostot täältä. Joten, aivan kuten Windowsissa on erilliset 32- ja 64-bittiset ohjelmatiedostot, se sisältää myös erilliset 32- ja 64-bittiset versiot System32-kansioista.

System32 ja SysWOW64

32-bittisessä tietokoneessa kaikki 32-bittiset ohjelmat tallentavat tiedostot C: \ Program Files -tiedostoihin ja järjestelmän laajuinen kirjaston sijainti on C: \ System32.

64-bittisessä tietokoneessa 64-bittiset ohjelmat tallentavat tiedostot C: \ Program Files -tiedostoihin ja järjestelmän koko C: \ Windows \ System32 -kansio sisältää 64-bittisiä kirjastoja. 32-bittiset ohjelmat tallentavat tiedostot C: \ Program Files (x86): iin ja koko järjestelmän koko on C: \ Windows \ SysWOW64.

Tämä on ehdottomasti vastavoimainen. Nimestä "32" huolimatta System32-kansio sisältää 64-bittisiä kirjastoja. Ja vaikka nimestä 64, SysWOW64-kansio sisältää 32-bittisiä kirjastoja - ainakin 64-bittisissä Windows-versioissa.

Yleensä sinun ei tarvitse tietää tätä. Käyttämäsi Windows-käyttöjärjestelmä ja ohjelmat asettavat tiedostot automaattisesti oikeaan paikkaan ja käyttävät oikeaa kansiota. Jos tarvitset kuitenkin DLL-tiedoston manuaalista asentamista oikeaan paikkaan tai löydät jonkun asennuksen - mikä on hyvin harvinaista - sinun on tiedettävä, mikä on mikä.

WOW64, selitetty

Nimen "WOW64" -osiossa viitataan Microsoftin "Windows 32-bittiseen Windows 64-bittiseen" -ohjelmistoon, joka on osa käyttöjärjestelmää. Tämä mahdollistaa Windowsin suorittavan 32-bittiset ohjelmat 64-bittisessä Windows-versiossa. WoW64 ohjaa tiedoston käyttöoikeuden varmistaakseen, että ohjelmat toimivat oikein.

Jos esimerkiksi asennat 32-bittisen ohjelman 64-bittiseen Windows-versioon ja yrittää kirjoittaa C: \ Program Files-kansioon, WoW64 osoittaa sen C: \ Program Files (x86) -kohdassa. Ja jos se haluaa käyttää C: \ Windows \ System32 -kansiota, WoW64 osoittaa sen osoitteessa C: \ Windows \ SysWOW64. Windows tekee tämän käyttämällä tiedostojärjestelmän uudelleenohjainta.

Kaikki tämä tapahtuu automaattisesti ja läpinäkyvästi taustalla. Ohjelmassa ei edes tarvitse tietää, että se toimii 64-bittisellä käyttöjärjestelmällä, mikä mahdollistaa vanhempien 32-bittisten ohjelmien suorittamisen ilman muutoksia 64-bittisissä Windows-versioissa. WOW64 myös ohjataan rekisterin käyttöoikeutta varmistaen, että rekisterin erilliset alueet ovat 64- ja 32-bittisille ohjelmille.

Joten miksi System32 on 64-bittinen ja 32-bit SysWOW64?

Kaikki tämä tuo meidät takaisin miljoonan dollarin kysymykseen: Miksi 64-bittinen System32-kansio ja 32-bittinen SysWOW64?

Vastaus näyttää olevan, että monet 32-bittiset sovellukset olivat kovat koodit C: \ Windows \ System32 -hakemiston käyttämiseen. Kun kehittäjät käänsivät nämä sovellukset uudestaan ​​64-bittisiin Windows-versioihin, he jatkoivat C: \ Windows \ System32 -hakemiston käyttöä.

Sen sijaan, että hakemistoa nimetettäisiin ja kehittäjiä pakotettaisiin siirtymään uuteen, murtumasta monia sovelluksia prosessissa, Microsoft jätti "System32" tavalliseksi järjestelmäkirjastohakemistoksi. He loivat uuden kirjastohakemiston WoW64-kerrokselle ajettaville sovelluksille, joita he nimeltään "SysWOW64". Kun ajattelet sitä tällä tavalla, nimi tekee järkevämpää.

Kyllä, on vähän typerää, että nimessä "32" hakemisto on nyt 64-bittinen. Ehkäpä Microsoftin olisi pitänyt nähdä, että ne tulevat, kun ne nimettiin C: \ Windows \ System32: ksi 90-luvulla. Mutta vaikka yksinkertaisempi nimeämisohjelma olisi mukava, ei ole syytä murtaa joukko ohjelmia ja luoda enemmän työtä kehittäjille vain päästäkseen sinne. Tämä tarkoittaa, että olemme jumissa System32: n ja SysWOW64: n kanssa lähitulevaisuudessa.