Windows'taki “System32” ve “SysWOW64” Klasörleri Arasındaki Fark Nedir?
Windows'un 64 bit sürümlerinde, iki ayrı Program Dosyaları klasörünüz vardır. Ama orada bitmiyor. Ayrıca DLL kütüphanelerinin ve çalıştırılabilir dosyalarının depolandığı iki ayrı sistem dizininiz vardır: System32 ve SysWOW64. İsimlere rağmen, System32 64 bit dosyalarla ve SysWOW64 32 bit dosyalarla doludur. Peki ne verir?
System32 nedir?
System32 dizini, Windows sistem dosyalarını, hem programlar tarafından kullanılan .DLL kitaplık dosyalarını hem de Windows'un bir parçası olan .exe program yardımcı programlarını içerir. Burada bulduğunuz dosyaların çoğu Windows işletim sisteminin bir parçası olsa da, üçüncü taraf yazılım programları bazen kendi DLL dosyalarını da bu klasöre yükler..
Sisteminizde çalışan uygulamalar Program Files klasörünüze veya başka bir yere yüklenmiş olabilir, ancak bunlar genellikle sistem genelinde kitaplıkları System32 klasöründen yüklerler.
32 bit ve 64 bit Kütüphaneleri Ayırma
Windows'un 64 bit sürümünde, 64 bit programları ve dosyalarını içeren bir C: \ Program Files klasörüne ve 32 bit programlar ve dosyalarını içeren bir C: \ Program Files (x86) klasörünüz vardır. 64-bit programlar 64-bit DLL dosyalarına ve 32-bit programlar 32-bit DLL dosyalarına ihtiyaç duyduğundan bu dosyaların ayrılması yararlıdır.
32 bitlik bir program ihtiyaç duyduğu bir DLL dosyasını yüklerse, 64 bitlik bir sürüm bulur ve yüklemeye çalışırsa, çökecektir. Windows, 64 bit ve 32 bit yazılımları iki farklı Program Files klasörüne ayırarak bunların karışmamasını ve sorunlara yol açmamasını sağlar.
Ancak, tüm DLL dosyaları Program Files'da depolanmaz. Windows ile birlikte gelen pek çok sistem kütüphanesi, C: \ System32 dosyasında depolanır ve bazı programlar da kendi kütüphane dosyalarını buraya bırakır. Bu nedenle, Windows'un ayrı 32 bit ve 64 bit Program Files klasörlerine sahip olması gibi, System32 klasörünün ayrı 32 bit ve 64 bit sürümlerine de sahiptir.
System32 ve SysWOW64
32 bit bir bilgisayarda, tüm 32 bit programlar, dosyalarını C: \ Program Files'da depolar ve sistem genelinde kütüphane konumu C: \ System32.
64 bitlik bir bilgisayarda, 64 bitlik programlar dosyalarını C: \ Program Files'da depolar ve sistem genelinde C: \ Windows \ System32 klasöründe 64 bit kitaplıklar bulunur. 32-bit programlar, dosyalarını C: \ Program Files (x86) 'da depolar ve sistem genelindeki klasör C: \ Windows \ SysWOW64.
Bu kesinlikle karşı yönelticidir. Adındaki “32” ye rağmen, System32 klasörü 64 bit kitaplıklar içeriyor. Ayrıca, adındaki 64 tanesine rağmen, SysWOW64 klasörü 32 bit kitaplık içerir - en az 64 bit Windows sürümü.
Genel olarak, bunu bilmenize gerek yoktur. Kullandığınız Windows işletim sistemi ve programlar, dosyalarını otomatik olarak doğru yere yerleştirir ve doğru klasörü kullanır. Ancak, bir DLL dosyasını doğru yere el ile yüklemeniz ya da hangisinin yüklü olduğunu bulmanız gerekiyorsa, hangisinin çok nadir olduğunu bilmeniz gerekir..
WOW64, Açıklanan
Buradaki adın “WOW64” kısmı, Microsoft'un işletim sisteminin bir parçası olan “Windows 64-bit'te Windows 32-bit” yazılımını ifade eder. Bu, Windows'un 64 bit sürümünde 32 bit programlar çalıştırmasına izin verir. WoW64, programların düzgün çalışmasını sağlamak için dosya erişimini yönlendirir.
Örneğin, Windows'un 64 bit sürümüne 32 bitlik bir program yüklerseniz ve C: \ Program Files klasörüne yazmaya çalışırsa, WoW64 bunu C: \ Program Files'a (x86) işaret eder. Ve, eğer C: \ Windows \ System32 klasörüne erişmek istiyorsa, WoW64 onu C: \ Windows \ SysWOW64 konumunda gösteriyor. Windows bunu bir dosya sistemi yönlendiricisi kullanarak yapıyor.
Bunların hepsi arka planda otomatik olarak ve şeffaf bir şekilde gerçekleşir. Programın, eski 32 bit programların Windows'un 64 bit sürümlerinde değişiklik yapmadan çalışmasına izin veren 64 bit işletim sistemlerinde çalıştığını bile bilmesi gerekmez. WOW64 ayrıca 64 bit ve 32 bit programlar için kayıt defterinde ayrı alanlar bulunduğundan emin olmak için kayıt defteri erişimini yönlendirir.
Peki neden System32 64-bit ve SysWOW64 32-bit?
Tüm bunlar bizi milyon dolarlık soruya geri getiriyor: Neden “System32” klasörü 64-bit ve SysWOW64 32-bit?
Cevap, pek çok 32 bit uygulamanın C: \ Windows \ System32 dizinini kullanması için kodlanmış gibi görünüyor. Geliştiriciler bu uygulamaları Windows'un 64 bit sürümleri için yeniden derlediklerinde, C: \ Windows \ System32 dizinini kullanmaya devam ettiler..
Dizini yeniden adlandırmak ve geliştiricileri yenisine zorlamak yerine, süreçteki birçok uygulamayı kırmak yerine, Microsoft standart sistem kitaplığı dizini olarak “System32” bıraktı. WoW64 katmanında çalışan uygulamalar için “SysWOW64” adlı yeni bir kütüphane rehberi oluşturdular. Bu şekilde düşündüğünüzde, isim daha mantıklı.
Evet, adında "32" olan bir dizinin şimdi 64 bit olması biraz saçma. Belki de Microsoft, 90'larda C: \ Windows \ System32 adını verdiklerinde geldiğini görmeliydi. Ancak, daha basit bir adlandırma şeması güzel olsa da, pek çok programı yıkmaya ve geliştiricilere sadece oraya ulaşmak için daha fazla çalışma yapmaya değmez. Bu, öngörülebilir gelecek için System32 ve SysWOW64 ile sıkışmış olduğumuz anlamına geliyor.