Mi a különbség a "System32" és a "SysWOW64" mappák között?

Tartalomjegyzék:

Mi a különbség a "System32" és a "SysWOW64" mappák között?
Mi a különbség a "System32" és a "SysWOW64" mappák között?

Videó: Mi a különbség a "System32" és a "SysWOW64" mappák között?

Videó: Mi a különbség a "System32" és a "SysWOW64" mappák között?
Videó: How to Film Yourself on a Smartphone (Like a PRO!) - YouTube 2024, Március
Anonim
A Windows 64 bites verzióján két külön programfájl-mappa található. De nem ér véget. Két külön rendszerkönyvtár is létezik, amelyekben a DLL könyvtárak és a végrehajtható fájlok tárolódnak: System32 és SysWOW64. A nevek ellenére a System32 tele van 64 bites fájlokkal, és a SysWOW64 tele van 32 bites fájlokkal. Tehát mi ad?
A Windows 64 bites verzióján két külön programfájl-mappa található. De nem ér véget. Két külön rendszerkönyvtár is létezik, amelyekben a DLL könyvtárak és a végrehajtható fájlok tárolódnak: System32 és SysWOW64. A nevek ellenére a System32 tele van 64 bites fájlokkal, és a SysWOW64 tele van 32 bites fájlokkal. Tehát mi ad?

Mi a System32?

A System32 könyvtár Windows rendszerfájlokat tartalmaz, mind a.DLL könyvtárfájlokat, amelyeket a programok és a.EXE program segédprogramok használnak, amelyek a Windows részei. Míg az itt található fájlok nagy része a Windows operációs rendszer része, a harmadik féltől származó szoftverek néha saját DLL-fájlokat is telepítenek ehhez a mappához.

A rendszeren futó alkalmazások telepíthetők a programfájlok mappájába vagy máshol, de gyakran rendszer-szintű könyvtárakat töltenek be a System32 mappából.

32 bites és 64 bites könyvtárak elkülönítése

A Windows 64 bites verzióján 64 bites programokat és fájlokat tartalmazó C: Program Files mappát és egy 32 bites programokat tartalmazó fájlokat és egy C: Program Files (x86) mappát talál. Hasznos lehet ezeknek a fájloknak a szétválasztása, mivel a 64 bites programok 64 bites DLL fájlokat igényelnek, és a 32 bites programok 32 bites DLL fájlokkal rendelkeznek.
A Windows 64 bites verzióján 64 bites programokat és fájlokat tartalmazó C: Program Files mappát és egy 32 bites programokat tartalmazó fájlokat és egy C: Program Files (x86) mappát talál. Hasznos lehet ezeknek a fájloknak a szétválasztása, mivel a 64 bites programok 64 bites DLL fájlokat igényelnek, és a 32 bites programok 32 bites DLL fájlokkal rendelkeznek.

Ha egy 32 bites program megy, hogy betöltsön egy szükséges DLL fájlt, 64 bites verziót talál, és megpróbálja betölteni, akkor összeomlik. A 64 bites és a 32 bites szoftvert két különböző Program Files mappába választva a Windows gondoskodik arról, hogy ne keveredjenek össze és ne okozzanak problémákat.

Azonban nem minden DLL fájlt tárol a Program Files. Számos, a Windows rendszerhez tartozó rendszerszintű könyvtárak a C: System32-ben vannak tárolva, és egyes programok itt saját könyvtárfájljaikat is eldobják. Így, ugyanúgy, ahogy a Windows külön 32 bites és 64 bites programfájlokat tartalmazó mappákkal rendelkezik, a System32 mappának külön 32 bites és 64 bites verziói is vannak.

System32 és SysWOW64

32 bites számítógépen az összes 32 bites program tárolja a fájlokat a C: Program Files mappában, és a rendszer egészére kiterjedő könyvtár helye C: System32.

64 bites számítógépen 64 bites programok tárolják a fájlokat a C: Program Files mappában, és az egész rendszerre kiterjedő C: Windows System32 könyvtár 64 bites könyvtárakat tartalmaz. A 32 bites programok tárolják a fájlokat a C: Program Files (x86) mappában, és a rendszer egésze a C: Windows SysWOW64.

Ez határozottan ellentmondásos. A "32" név ellenére a System32 könyvtár 64 bites könyvtárakat tartalmaz. A 64-es név ellenére a SysWOW64 mappa 32 bites könyvtárakat tartalmaz - legalábbis a Windows 64 bites verzióin.

Általában nem kell ezt tudnod. A használt Windows operációs rendszert és programokat automatikusan elhelyezi a megfelelő helyre, és használja a megfelelő mappát. Ha azonban valaha is szükséged van egy DLL-fájl manuális telepítésére a megfelelő helyre vagy megtalálni, hogy hol van telepítve - ami nagyon ritka - akkor tudnia kell, melyik.

WOW64 magyarázata

Például, ha 32 bites programot telepít a 64 bites Windows verzióra, és megpróbál írni a C: Program Files mappába, a WoW64 a C: Program Files (x86) címre mutat. És ha hozzáférni akar a C: Windows System32 mappához, akkor a WoW64 a C: Windows SysWOW64 mappába helyezi. A Windows ez egy fájlrendszer átirányító használatával történik.

Mindez automatikus és átlátható módon történik a háttérben. A programnak nem is kell tudnia, hogy 64 bites operációs rendszeren fut, ami lehetővé teszi az idősebb 32 bites programok futtatását a 64 bites Windows verziókon. A WOW64 átirányítja a regisztrációs hozzáférést is, biztosítva, hogy a rendszerleíró adatbázis külön területeket biztosítson a 64 bites és a 32 bites programok számára.

Miért van a System32 64 bites és a SysWOW64 32 bites?

Mindez visszavezet minket a millió dolláros kérdésre: Miért van a "System32" mappa 64 bites, és a SysWOW64 32 bites?

A válasz úgy tűnik, hogy sok 32 bites alkalmazás hardveresnek bizonyult a C: Windows System32 könyvtár használatához. Amikor a fejlesztők újrahasznosították ezeket a kéréseket a 64 bites Windows verziókhoz, folytatták a C: Windows System32 könyvtár használatát.

Ahelyett, hogy átnevezné a könyvtárat, és arra kényszerítette a fejlesztőket, hogy új alkalmazásba költözzenek, és számos alkalmazást törnek a folyamatban, a Microsoft a rendszerkönyvtár könyvtáraként elhagyta a "System32" rendszert. Új könyvtárkönyvtárat hoztak létre a WoW64 réteg alatt futó alkalmazások számára, amelyeket "SysWOW64" néven neveztek el. Ha így gondolkodik, a névnek több értelme van.

Igen, kissé buta, hogy a "32" nevű könyvtár most 64 bites. Talán a Microsoftnak azt kellett volna látnia, amikor eljöttek, amikor a 90-es években C: Windows System32 néven nevezték. De bár egy egyszerűbb elnevezési rendszer lenne szép, nem érdemes megtörni egy csomó programot, és több munkát a fejlesztők csak azért, hogy oda. Ez azt jelenti, hogy a belátható jövőben ragaszkodunk a System32 és a SysWOW64 rendszerekhez.

Ajánlott: