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

Sisällysluettelo:

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

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

Video: Mikä on ero System32- ja SysWOW64-kansioiden välillä Windowsissa?
Video: Meeting #2 - 4/24/2022 | ETF team member dialogue - YouTube 2024, Huhtikuu
Anonim
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?
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.
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

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.

Suositeltava: