Mi a különbség a „System32” és a „SysWOW64” mappák között a Windows rendszerben?
A Windows 64 bites verzióiban két különálló programfájl-mappa van. De ez nem ér véget. Két különálló rendszerkönyvtár van, ahol a DLL könyvtárak és a futtatható 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. Szóval mi ad?
Mi az a System32?
A System32 könyvtár tartalmazza a Windows rendszerfájlokat, mind a .DLL könyvtárfájlokat, amit a programok használnak, és a .EXE program segédprogramokat, amelyek a Windows részét képezik. Bár a legtöbb itt található fájl a Windows operációs rendszer részét képezi, a harmadik féltől származó szoftverprogramok néha saját DLL fájlokat is telepítenek erre a mappára is.
A rendszeren futó alkalmazások telepíthetők a Programfájlok mappába vagy máshol, de gyakran a rendszer egész könyvtárait töltik be a System32 mappából.
A 32 bites és a 64 bites könyvtárak elválasztása
A Windows 64 bites verziójában C: Fájlok mappa van, amely 64 bites programokat és fájljaikat tartalmazza, valamint egy C: Programfájlok (x86) mappát, amely 32 bites programokat és fájljaikat tartalmazza. Hasznos, ha ezek a fájlok elkülönülnek, mert a 64 bites programok 64 bites DLL fájlokat igényelnek, és a 32 bites programok 32 bites DLL fájlokat igényelnek.
Ha egy 32 bites program egy szükséges DLL fájl betöltésére van szüksége, 64 bites verziót talál, és megpróbálja betölteni, akkor összeomlik. A 64 bites és 32 bites szoftverek két különböző programfájl-mappába való szétválasztásával a Windows gondoskodik arról, hogy ne keverjenek fel és ne okozzanak problémákat.
Azonban nem minden DLL fájl tárolódik a programfájlokban. Számos Windows-rendszerű könyvtárat tárolnak a C-ben: System32, és egyes programok itt is saját könyvtárfájlokat dobnak ki. Tehát, ahogy a Windows külön 32 bites és 64 bites programfájl-mappákkal rendelkezik, külön 32-bites és 64 bites változatai is vannak a System32 mappában.
System32 és SysWOW64
A 32 bites számítógépen a 32 bites programok a C: programfájlokban tárolják a fájljukat, és a rendszer egész könyvtárának helye C: System32.
A 64 bites számítógépen a 64 bites programok a C: fájlokban tárolják a fájljukat, és a rendszer egész C: Windows System32 mappája 64 bites könyvtárakat tartalmaz. A 32 bites programok a C fájlban tárolják a fájlokat: x fájlok, és a rendszer egész mappája C: Windows SysWOW64.
Ez minden bizonnyal ellentétes. A „32” -es név ellenére a System32 mappa 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óiban.
Általában nem kell tudni ezt. A Windows operációs rendszer és a használt programok automatikusan elhelyezik a fájlokat a megfelelő helyre és használják a megfelelő mappát. Ha azonban szükséged van egy DLL fájl kézi telepítésére a helyes helyre, vagy meg kell találnod, hogy hol van telepítve, ami nagyon ritka, tudnod kell, melyik.
WOW64, magyarázat
A név „WOW64” része itt a Microsoft „Windows 64 bites Windows 64 bites” szoftverére utal, amely az operációs rendszer része. Ez lehetővé teszi, hogy a Windows 32 bites programokat futtasson a Windows 64 bites verziójában. A WoW64 átirányítja a fájlhozzáférést, hogy a programok megfelelően működjenek.
Például, ha 32 bites programot telepít egy 64 bites Windows verzióra, és megpróbál írni a C: Files fájlok mappájába, a WoW64 a C: Program Files (x86) pontra mutat. Ha a C: Windows System32 mappát akarja elérni, a WoW64 a C: Windows SysWOW64-re mutat rá. A Windows ezt egy fájlrendszer-átirányító segítségével végzi.
Mindez automatikusan és átláthatóan történik a háttérben. A programnak nem is kell tudnia, hogy egy 64 bites operációs rendszeren fut, ami lehetővé teszi a régebbi 32 bites programok módosítását a Windows 64 bites verzióiban. A WOW64 is átirányítja a rendszerleíró adatbázis-hozzáférést, biztosítva, hogy a 64-bites és a 32-bites programok számára a nyilvántartás külön területei vannak.
Tehát 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 64-bites „System32” mappa és a 32 bites SysWOW64?
A válasz úgy tűnik, hogy sok 32 bites alkalmazás kódolásra került a C: Windows System32 könyvtár használatához. Amikor a fejlesztők újra konvertálják ezeket az alkalmazásokat a Windows 64 bites verzióira, továbbra is a C: Windows System32 könyvtárat használták.
Ahelyett, hogy átnevezné a könyvtárat, és arra kényszerítené a fejlesztőket, hogy az újra költözzenek, a folyamatban sok alkalmazást megtörve, a Microsoft a rendszerrendszer könyvtárkönyvtáraként hagyta el a System32-et. Új könyvtárkönyvtárat hoztak létre a WoW64 réteg alatt futó alkalmazások számára, amelyeket „SysWOW64” -nek neveztek el. Ha így gondolsz, a név sokkal érthetőbb.
Igen, egy kicsit ostoba, hogy egy név, amelynek neve „32”, most 64 bites. Talán a Microsoftnak látnia kellett volna, amikor C: Windows System32 a 90-es években. De bár egy egyszerűbb elnevezési rendszer jó lenne, nem érdemes megtörténnie egy csomó programcsomagot, és több munkát kell létrehoznia a fejlesztőknek, hogy csak odaérjenek. Ez azt jelenti, hogy a közeljövőben ragaszkodunk a System32 és a SysWOW64 rendszerhez.