Mitä eroa on System32- ja SysWOW64-kansioilla Windowsissa?

64-bittisissä Windows-versioissa sinulla on kaksi erillistä Program Files -kansiota. Mutta se ei pääty tähän. Sinulla on myös kaksi erillistä järjestelmähakemistoa, joihin on tallennettu DLL-kirjastot ja suoritettavat tiedostot: System32 ja SysWOW64. Nimistä huolimatta System32 on täynnä 64-bittisiä tiedostoja ja SysWOW64 on täynnä 32-bittisiä tiedostoja. Joten mikä antaa?

Mikä on System32?

RELATED: Mitä ovat DLL-tiedostot ja miksi yksi puuttuu tietokoneeltani?

System32-hakemisto sisältää Windowsin järjestelmätiedostot, sekä .DLL-kirjastotiedostot, joita ohjelmat käyttävät, että .EXE-ohjelmaapuohjelmat, jotka ovat osa Windowsia. Vaikka suurin osa täältä löydetyistä tiedostoista on osa Windows-käyttöjärjestelmää, kolmannen osapuolen ohjelmistot asentavat joskus omat DLL-tiedostot myös tähän kansioon.

Järjestelmässäsi toimivat sovellukset voidaan asentaa Program Files -kansioon tai muualle, mutta ne lataavat usein koko järjestelmän kattavia kirjastoja System32-kansiosta.

32- ja 64-bittisten kirjastojen erottaminen

LIITTYVÄT: Mikä on ero "Ohjelmatiedostot (x86)" - ja "Ohjelmatiedostot" -kansioiden välillä Windowsissa?

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

Jos 32-bittinen ohjelma menee lataamaan tarvitsemansa DLL-tiedoston, etsii 64-bittisen version ja yrittää ladata sen, se kaatuu. Erottamalla 64-bittiset ja 32-bittiset ohjelmistot kahteen eri Program Files -kansioon, Windows varmistaa, että ne eivät sekoittu ja aiheuta ongelmia.

Kaikkia DLL-tiedostoja ei kuitenkaan ole tallennettu ohjelmatiedostoihin. Monet Windowsin mukana olevat koko järjestelmän kattavat kirjastot on tallennettu C: \ System32 -ohjelmaan, ja jotkut ohjelmat myös tyhjentävät omat kirjastotiedostot tähän. Joten, kuten Windowsilla on erilliset 32- ja 64-bittiset Ohjelmatiedostot-kansiot, sillä on myös erilliset 32- ja 64-bittiset versiot System32-kansiosta.

System32 ja SysWOW64

32-bittisessä tietokoneessa kaikki 32-bittiset ohjelmat tallentavat tiedostonsa C: \ Program Files -ohjelmaan, ja koko järjestelmän kirjaston sijainti on C: \ System32.

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

Tämä on ehdottomasti vasta-ajatusta. Nimessä olevasta "32": sta huolimatta System32-kansio sisältää 64-bittisiä kirjastoja. Ja vaikka nimessä on 64, SysWOW64-kansio sisältää 32-bittisiä kirjastoja - ainakin Windowsin 64-bittisissä versioissa.

Yleensä sinun ei tarvitse tietää tätä. Windows-käyttöjärjestelmä ja käyttämäsi ohjelmat sijoittavat tiedostot automaattisesti oikeaan paikkaan ja käyttävät oikeaa kansiota. Jos kuitenkin joudut joskus asentamaan DLL-tiedoston manuaalisesti oikeaan paikkaan tai etsimään, mihin se on asennettu - mikä on hyvin harvinaista - sinun on tiedettävä, mikä on mikä.

WOW64, selitetty

RELATED: Miksi useimmat ohjelmat ovat edelleen 32-bittisiä 64-bittisessä Windows-versiossa?

Nimen ”WOW64” -osa viittaa tässä Microsoftin ”Windows 32-bit on Windows 64-bit” -ohjelmistoon, joka on osa käyttöjärjestelmää. Tämän avulla Windows voi ajaa 32-bittisiä ohjelmia Windowsin 64-bittisessä versiossa. WoW64 ohjaa tiedostojen käytön uudelleen varmistaakseen, että ohjelmat toimivat oikein.

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

Tämä kaikki tapahtuu automaattisesti ja läpinäkyvästi taustalla. Ohjelman ei tarvitse edes tietää, että se toimii 64-bittisessä käyttöjärjestelmässä, mikä sallii vanhempien 32-bittisten ohjelmien suorittamisen ilman muutoksia 64-bittisissä Windows-versioissa. WOW64 ohjaa myös rekisterin käytön varmistamalla, että rekisterissä on erilliset alueet 64- ja 32-bittisille ohjelmille.

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

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

Vastaus näyttää olevan, että monet 32-bittiset sovellukset koodattiin kovakoodattuina käyttämään C: \ Windows \ System32-hakemistoa. Kun kehittäjät kääntivät nämä sovellukset uudelleen 64-bittisille Windows-versioille, he jatkoivat C: \ Windows \ System32-hakemiston käyttöä.

Sen sijaan, että nimittäisit hakemiston uudelleen ja pakottaisit kehittäjät siirtymään uuteen, rikkomalla monia sovelluksia prosessin aikana, Microsoft jätti "System32" -järjestelmän vakiona järjestelmäkirjastohakemistoksi. He loivat uuden kirjastohakemiston WoW64-kerroksessa toimiville sovelluksille, jotka heille annettiin nimi "SysWOW64". Kun ajattelet sitä tällä tavalla, nimellä on enemmän merkitystä.

Kyllä, on vähän typerää, että hakemistossa, jonka nimessä on “32”, on nyt 64-bittinen. Ehkä Microsoftin olisi pitänyt nähdä tämä tulevan nimittäessään sen C: \ Windows \ System32: ksi 90-luvulla. Mutta vaikka yksinkertaisempi nimeämisjärjestelmä olisi mukava, ei kannata rikkoa joukko ohjelmia ja luoda lisää työtä kehittäjille vain päästäksesi sinne. Tämä tarkoittaa, että olemme kiinni System32: ssä ja SysWOW64: ssä lähitulevaisuudessa.