Windows'un 64 bit sürümlerindeki 32 bit programlar için uyumlulukla ilgili dikkat edilmesi gerekenlere genel bakış

Bu makalede, Windows'un 64 bit sürümlerinde çalışan 32 bit programlar için uyumlulukla ilgili dikkat edilmesi gerekenler ve sınırlamalar açıklanır.

Şunlar için geçerlidir: Windows 10 – tüm sürümler, Windows Server 2012 R2
Orijinal KB numarası: 896456

Özet

Windows'un 64 bit sürümleri, 32 bit programları değişiklik yapmadan çalıştırmak için Microsoft Windows-32-on-Windows-64 (WOW64) alt sistemini kullanır. Windows'un 64 bit sürümleri, 16 bit ikili dosyalar veya 32 bit sürücüler için destek sağlamaz. 16 bit ikili dosyalara veya 32 bit sürücülere bağlı programlar, program üreticisi program için bir güncelleştirme sağlamadığı sürece, Windows'un 64 bit sürümlerinde çalıştırılamaz.

Bir programın uyumluluğunu veya performansını etkileyen dikkat edilmesi gereken noktalar olabilir. Bir programın uyumluluk veya performans sorunları olup olmayacağını, programı Windows'un 64 bit sürümlerinden birinde test ederek belirleyebilirsiniz.

Bu makalede, Windows'un 64 bit sürümlerinde 32 bit programları çalıştırmak için uyumlulukla ilgili dikkat edilmesi gereken bazı konular açıklanmaktadır. Bu makale, Windows'un 32 bit ve 64 bit sürümlerini veya farklı 64 bit işletim sistemlerini karşılaştırmaz. Bu makalede, 32 bit ikili dosyalar ile 64 bit ikili dosyalar arasındaki farkı anladığınız varsayılır.

Giriş

Microsoft Windows'un x64 tabanlı sürümleri, yerel 64 bit programları çalıştırmak için iyileştirilmiştir. Ayrıca, Windows'un x64 tabanlı sürümleri, 32 bit programları çalıştırmak için WOW64 alt sistemini kullanır.

32 bit programları çalıştırma

WOW64 alt sistemi 32 bit programların, Windows'un x64 tabanlı sürümlerinde değişiklik yapmadan çalışmasını sağlar. WOW64 alt sistemi bunu, Windows'un x64 tabanlı sürümlerinde bir 32 bit ortam oluşturarak yapar. WOW64 alt sistemi hakkında daha fazla bilgi için, Microsoft Platform SDK belgelerinin 64 Bit Windows bölümündeki "32 bit Uygulamaları Çalıştırma" konusuna bakın. Bu belgeyi görüntülemek için şu Microsoft Web sitesini ziyaret edin: 32 bit Uygulamaları Çalıştırma.

Program performansıyla ilgili dikkat edilmesi gerekenler

WOW64 alt sistemi, Windows'un x64 tabanlı sürümlerinde 32 bitlik bir ortam oluşturur. Bazı 32 bit programlar bu işletim sistemlerinde, Windows'un 32 bit sürümlerinde olduğundan daha yavaş çalışabilir. Alternatif olarak, çok fazla bellek gerektiren bazı 32 bit programlar, Windows'un x64 tabanlı sürümlerinde daha yüksek performans gösterebilir. Bu performans artışı, Windows'un x64 tabanlı sürümleri Windows'un 32 bit sürümlerinden daha fazla fiziksel belleği desteklediği için oluşur.

Windows'un 64 bit ve 32 bit sürümleri arasındaki bellek yönetimi farklılıkları hakkında daha fazla bilgi için, Microsoft Platform SDK belgelerinin Bellek Yönetimi Hakkında bölümündeki "Sanal Adres Alanı" konusuna bakın. Bu belgeyi görüntülemek için şu Microsoft Web sitesini ziyaret edin: Sanal Adres Alanı

WOW64 alt sisteminin kısıtlamaları

WOW64 alt sistemi aşağıdaki programları desteklemez:

  • 16 bit işletim sistemleri için derlenmiş programlar
  • 32 bit işletim sistemleri için derlenmiş çekirdek modu programları

16 bit programlar

Windows'un x64 tabanlı sürümleri, 16 bit programları veya 16 bit program bileşenlerini desteklemez. Windows'un x64 tabanlı sürümünde 16 bit programları çalıştırmak için gereken yazılım öykünmesi, bu programların performansını önemli ölçüde düşürecektir.

32 bit bir programı yüklemek ve yapılandırmak için genellikle bir 16 bit yükleyici kullanılır. Ayrıca, bazı 32 bit programların düzgün çalışması için 16 bit bileşenler gerekir. 16 bit bileşen gerektiren 32 bit programlar yüklendikten sonra düzgün çalışabilse de, 32 bit bir program yüklemek için 16 bit yükleyiciyi kullanamazsınız. 16 bit bileşen gerektiren programlar, Windows'un x64 tabanlı sürümlerinde çalıştırılamaz.

16 bit bileşen gerektiren bir 32 bit program, 16 bitlik bir dosyayı veya bileşeni çalıştırmayı denerse, 32 bit program Sistem günlüğüne bir hata iletisi kaydeder. Bu durumda işletim sistemi, 32 bit programın hatayı işlemesine izin verir.

Bir programın 16 bit bileşen gerektirip gerektirmediğini belirlemek için programı yükleyin ve çalıştırın. Program bir hata iletisi oluşturursa, Windows'un x64 tabanlı sürümleriyle uyumlu bir güncelleştirme için programın üreticisine başvurun.

32 bit sürücüler

Windows'un x64 tabanlı sürümleri 32 bit sürücüleri desteklemez. Tüm donanım cihaz sürücüleri ve program sürücüleri, Windows'un x64 tabanlı sürümü için özel olarak derlenmiş olmalıdır.

32 bit bir program, Windows'un x64 tabanlı sürümünü çalıştıran bir bilgisayara 32 bit sürücü yüklemeye çalışırsa, sürücü yüklemesi başarısız olur. Bu davranış oluştuğunda, Windows'un x64 tabanlı sürümü 32 bit programda hata bildirir.

Bir 32 bit program, Windows'un x64 tabanlı bir sürümünü çalıştıran bir bilgisayarda otomatik başlangıç için 32 bit sürücü kaydetmeye çalışırsa, bilgisayardaki önyükleme yükleyicisi 32 bit sürücünün desteklenmediğini algılar. Windows'un x64 tabanlı sürümü 32 bit sürücüyü başlatmaz ancak diğer kayıtlı sürücüleri başlatır.

Bir programın 32 bit sürücü gerektirip gerektirmediğini belirlemek için programı yükleyin ve çalıştırın. Program bir hata iletisi oluşturursa, Windows'un x64 tabanlı sürümleriyle uyumlu bir güncelleştirme için programın üreticisine başvurun.

Dikkat edilmesi gereken ek noktalar

Kayıt defteri ve dosya yeniden yönlendirme

WOW64 alt sistemi, kayıt defteri çağrılarını ve bazı dosya sistemi çağrılarını yeniden yönlendirerek 32 bit ikili dosyaları 64 bit ikili dosyalardan yalıtır. WOW64 alt sistemi, bir 32 bit ikili dosyasının yanlışlıkla 64 bitlik bir ikili dosyadan verilere erişmesini önlemek için ikili dosyaları yalıtır. Örneğin, %systemroot%\System32 klasöründen bir .dll dosyası çalıştıran 32 bitlik bir ikili dosya, yanlışlıkla 32 bit ikili dosyayla uyumlu olmayan bir 64 bit .dll dosyasına erişmeyi deneyebilir. Bunu önlemek için WOW64 alt sistemi, erişimi %systemroot%\System32 klasöründen %systemroot%\SysWOW64 klasörüne yönlendirir. Bu yeniden yönlendirme, .dll dosyasının 32 bit programlarla çalışacak şekilde özel olarak tasarlanmasını gerektirdiğinden uyumluluk hatalarını önler.

Dosya sistemi ve kayıt defteri yeniden yönlendirmesi hakkında daha fazla bilgi için Microsoft Platform SDK belgelerinin 64 Bit Windows bölümündeki "32 bit Uygulamaları Çalıştırma" konusuna bakın. Bu belgeyi görüntülemek için şu Microsoft Web sitesini ziyaret edin: 32 bit Uygulamaları Çalıştırma
WOW64 alt sistemi, 32 bit ikili çağrıları, 32 bit ikili dosyalarda değişiklik yapmadan yeniden yönlendirir. Ancak bazı görevleri gerçekleştirirken bu yeniden yönlendirmenin kanıtını görebilirsiniz. Örneğin, 64 bit komut istemine bir komut satırı betiği yazarsanız komut istemi, Program Dosyaları klasöründeki 32 bit programlara erişemeyebilir. WOW64 alt sistemi, 32 bit programları Program Dosyaları (x86) klasörüne yeniden yönlendirir ve yükler. Doğru klasöre erişmek için komut satırı betiğini değiştirmeniz gerekir. Alternatif olarak, komut satırı betiğini 32 bit komut istemine yazmanız gerekir. 32 bit komut istemi, dosya sistemi çağrılarını otomatik olarak doğru 32 bit dizinine yönlendirir.

32 bit komut satırı başlatmak için aşağıdaki adımları izleyin:

  • Başlat'a tıklayın, Çalıştır'a tıklayın, %windir%\SysWoW64\cmd.exe yazın ve Tamam'a tıklayın.

Sürüm denetimi

Bazı 32 bit programlar işletim sisteminin sürüm bilgilerini inceler. Bu denetimi gerçekleştiren birçok 32 bit program, Windows'un x64 tabanlı sürümlerini uyumlu işletim sistemleri olarak tanımaz. Bu davranış oluştuğunda, 32 bit program bir sürüm denetimi hatası oluşturur ve ardından kapanır. Bu davranış oluşursa, Windows'un x64 tabanlı sürümleriyle uyumlu bir güncelleştirme için 32 bit programın üreticisine başvurun.

Microsoft .NET Framework

Aşağıdaki koşullar doğruysa Microsoft .NET Framework ile derlenen bir program, WOW64 alt sisteminde 32 bitlik bir program olarak çalışır:

  • Programın üst bilgisinde ILONLY biti ayarlanmıştır.
  • Program, Microsoft .NET Framework 1.1 ile derlenmiştir. Programın üst bilgisinde ILONLY biti ayarlı değilse veya program Microsoft .NET Framework sürüm 2.0 ile derlenmişse, program yerel bir 64 bit program olarak çalışacaktır.

OpenGL

Windows'un x64 tabanlı sürümlerinde OpenGL grafik sürücüsü yoktur. Windows'un x64 tabanlı sürümleriyle uyumlu bir sürücü için cihazın üreticisine başvurun.

Microsoft Yönetim Konsolu (MMC)

Windows'un x64 tabanlı sürümleri, çeşitli ek bileşenleri çalıştırmak için Microsoft Yönetim Konsolu'nun (MMC) 64 bit sürümünü kullanır. Ancak, zaman zaman WOW64 alt sisteminde ek bileşenleri çalıştırmak için MMC'nin 32 bit sürümünü isteyebilirsiniz. Mmc'nin, x64 tabanlı Windows sürümlerindeki davranışı hakkında daha fazla bilgi için Microsoft Platform SDK belgelerinin MMC 2.0 kullanma bölümündeki "64 bit Windows'ta 32 bit ve 64 bit Ek Bileşenleri Çalıştırma" konusuna bakın. Bu belgeyi görüntülemek için şu Microsoft Web sitesini ziyaret edin: 64 bit Windows'ta 32 bit ve 64 bit Ek Bileşenleri Çalıştırma

x64 Ile İlgili Dikkat Edilmesi Gerekenler

Windows'un x64 tabanlı sürümleri, 32 bit yönergeleri ve 64 bit yönergeleri destekler. WOW64 alt sistemi, işlemcinin yerel modunu değiştirerek 32 bit programları yerel 64 bit modunda çalıştırabilir. Ayrı donanım veya yazılım katmanları gerekli değildir. Windows'un x64 tabanlı sürümlerinde 32 bitlik bir program çalıştırdığınızda performansın düşmesiyle karşılaşamayabilirsiniz.

x64 tabanlı işlemcinin performansı hakkında daha fazla bilgi için işlemcinin üreticisine başvurun veya üreticinin Web sitesini ziyaret edin. Bu belgedeki bilgiler ve sunulan çözüm, Microsoft Corporation'ın bu sorunlar konusunda yayımlanma tarihindeki görüşünü belirtir. Bu çözüm, Microsoft veya bir üçüncü taraf sağlayıcı aracılığıyla edinilebilir. Microsoft, bu makalede tarif edilen belirli bir üçüncü taraf sağlayıcıyı veya üçüncü taraf çözümünü önermez. Bu makalede açıklanmayan başka üçüncü taraf sağlayıcılar veya üçüncü taraf çözümler de olabilir. Microsoft değişen pazar koşullarına yanıt vermek zorunda olduğundan, bu bilgiler Microsoft'u bağlayan sözler olarak yorumlanmamalıdır. Microsoft, Microsoft veya bahsi geçen bir üçüncü taraf sağlayıcı tarafından sunulan hiçbir bilginin veya çözümün tutarlılığını garanti etmez ve desteklemez.

Microsoft tüm temsiller, garantiler ve koşullarla ilgili olarak açık, zımni veya mevzuatla ilgili garanti vermez. Belirli bir hizmet, ürün veya diğer malzemeler ya da bilgiler için unvan, kurala uygunluk, tatmin edici koşul, satılabilirlik veya belirli bir amaca uygunluk da dahil, ancak bununla sınırlı olmamak kaydıyla hiçbir gösterim, garanti veya koşul garanti edilmez. Bu makalede belirtilen üçüncü taraf çözümlerden Microsoft hiçbir şekilde sorumlu tutulamaz.

Başvurular

AMD64 işlemcisi hakkında daha fazla bilgi için şu Gelişmiş Mikro Cihazlar Web sitesini ziyaret edin: AMD Web Sitesi
Microsoft, teknik destek bulmanıza yardımcı olmak üzere üçüncü taraf iletişim bilgilerini sağlamaktadır. Bu iletişim bilgileri önceden haber verilmeksizin değiştirilebilir. Microsoft bu üçüncü taraf iletişim bilgilerinin doğruluğunu garanti etmez.

Windows Server 2003 ve Windows XP'nin Itanium tabanlı sürümleri için program geliştirme hakkında daha fazla bilgi için, şu Microsoft Web sitesini ziyaret edin: Windows'un 64 bit Itanium Tabanlı Sürümü için Uygulama Geliştirmeye Giriş

Bu makalede adı geçen üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft, bu ürünlerin performansı veya güvenilirliği ile ilgili örtük veya başka türlü hiçbir garanti vermez.