Što je System32?
Direktorij System32 sadrži datoteke sustava Windows, obje. DLL datoteke biblioteke koje koriste programi i programi za.EXE koji su dio sustava Windows. Dok je većina datoteka koje ovdje nalazite dio operacijskog sustava Windows, programi softverske jedinice treće strane ponekad također mogu instalirati vlastite DLL datoteke u ovu mapu.
Aplikacije koje se pokreću na vašem sustavu mogu se instalirati u mapu Program Files ili drugdje, ali često učitavaju knjižnice u sustavu iz mape System32.
Odvajanje 32-bitnih i 64-bitnih knjižnica
Ako 32-bitni program ide na učitavanje DLL datoteke koja mu je potrebna, pronalazi 64-bitnu verziju i pokušava je učitati, to će se srušiti. Razdvajanjem 64-bitnog i 32-bitnog softvera u dvije mape Programskih datoteka, sustav Windows osigurava da se neće miješati i uzrokovati probleme.
Međutim, sve datoteke DLL nisu pohranjene u programskim datotekama. Mnoge knjižnice obuhvaćene sustavom sadržane u sustavu Windows pohranjene su u C: System32, a neki programi također odlažu svoje datoteke knjižnice ovdje. Dakle, baš kao što Windows posjeduje zasebne 32-bitne i 64-bitne programske mape, također ima zasebne 32-bitne i 64-bitne verzije mape System32.
System32 i SysWOW64
Na 32-bitnom računalu svi 32-bitni programi pohranjuju svoje datoteke u C: Program Files, a lokacija knjižnice na cijelom sustavu je C: System32.
Na 64-bitnom računalu, 64-bitni programi pohranjuju svoje datoteke u C: Program Files, a mapa C: Windows System32 na cijelom sustavu sadrži 64-bitne biblioteke. 32-bitni programi pohranjuju svoje datoteke u C: Program Files (x86), a mapa cijelog sustava je C: Windows SysWOW64.
Ovo je definitivno proturječno. Unatoč "32" u imenu, mapa System32 sadrži 64-bitne biblioteke. I, unatoč 64 u nazivu, mapa SysWOW64 sadrži 32-bitne knjižnice - barem na 64-bitnim verzijama sustava Windows.
Općenito, to nećete morati znati. Operativni sustav Windows i programi koje koristite automatski stavljaju svoje datoteke na ispravnu lokaciju i koriste ispravnu mapu. Međutim, ako ikada morate ručno instalirati DLL datoteku na ispravnu lokaciju ili pronaći gdje je instaliran - što je vrlo rijetko - morat ćete znati koja je to.
WOW64, objasnio je
Na primjer, ako instalirate 32-bitni program na 64-bitnu verziju sustava Windows i pokušate pisati u mapu C: Program Files, WoW64 to upućuje na C: Program Files (x86). A ako želi pristupiti mapi C: Windows System32, WoW64 to upućuje na C: Windows SysWOW64. Windows to koristi pomoću preusmjerivača datotečnog sustava.
Sve se to događa automatski i transparentno u pozadini. Program ne mora ni znati da se izvodi na 64-bitnom operacijskom sustavu, što omogućuje starijim 32-bitnim programima da se izvode bez promjene na 64-bitnim verzijama sustava Windows. WOW64 također preusmjerava pristup registru, osiguravajući odvojena područja registra za 64-bitne i 32-bitne programe.
Pa zašto je System32 64-bitni i SysWOW64 32-bitni?
Sve to nas vraća na pitanje milijuna dolara: Zašto je mapa "System32" 64-bitna i SysWOW64 32-bitna?
Čini se da se čini da su mnoge 32-bitne aplikacije bile hardcodirane da koriste C: Windows System32 direktorij. Kada programeri rekompliraju ove aplikacije za 64-bitne verzije sustava Windows, nastavili su koristiti direktorij C: Windows System32.
Umjesto preimenovanja direktorija i prisiljavanja razvojnih programera na prelazak na novi, razbijanje mnogih aplikacija u tom procesu, Microsoft je napustio "System32" kao standardni katalog knjižnice sustava. Izradili su novi knjižnični direktorij za aplikacije koje se pokreću pod WoW64 slojem, koje su imenovale "SysWOW64". Kada razmišljate o tome na ovaj način, ime ima više smisla.
Da, malo je glupo da je direktorij s "32" u imenu sada 64-bitni. Možda je Microsoft trebao vidjeti da dolaze kada im je naziv C: Windows System32 u 90-ima. No, iako bi jednostavnija shema imenovanja bilo lijepo, nije vrijedno razbijanje hrpe programa i stvaranje više posla za razvojne programere samo da bi stigli do njih. To znači da smo zaustavljeni s System32 i SysWOW64 u doglednoj budućnosti.