Prozessorseitig stimmt das. Die können nativ 32 und 64 Bit Code ausführen. Unter Linux zum Beispiel tun sie das auch, aber nicht unter Windows. Dort werden erst alle 32 Bit Aufrufe auf 64 Bit Aufrufe gemappt um sie auszuführen. Unter Vista64 kommt kein einziger 32 Bit Befehl mehr zum Einsatz.Zitat von Kasimir
Microsoft spricht hier selbst von einem Emulator
MS macht das mit WoW um möglichst vielen Kompatibilitätsproblemen aus dem Weg zu gehen. Bei Linux müssen alle Programmbibliotheken immer als 32 und 64 bit Version vorliegen, damit das funktioniert.WOW64 is the x86 emulator that allows 32-bit Windows-based applications to run on 64-bit Windows.
WOW64 launches and runs 32-bit applications seamlessly. The system isolates 32-bit applications from 64-bit applications, which includes preventing file and registry collisions. Console, GUI, and service applications are supported. The system provides interoperability across the 32/64 boundary for scenarios such as cut and paste and COM. However, 32-bit processes cannot load 64-bit DLLs, and 64-bit processes cannot load 32-bit DLLs.
Bei Windows ist das nicht so einfach möglich. Deshalb haben sie sich dazu entschlossen nur die 64 Bit Bibliothek zu verwenden und 32 Bit Kommandos dorthin zu mappen. Der Grund liegt wohl an der ganzen Registry Kacke von Windows.
Der Aufbau der Registry sah nicht vor mehrere DLLs für eine Funktion zu registrieren. Man müsste also zwei Registries verwalten und das gäbe sicherlich auch nur Probleme.
Da hat es Linux ohne den Regestrierungsquatsch natürlich besser.
Wenigstens hat MS dazu gelernt und mit .NET diese Kacke der Bibliotheksregistrierung wieder abgeschafft. Das erspart einem zumindest für .NET Programme die DLL-Hell.
Die gute alte XCopy-Installation funktioniert auch wieder.
Aber ich komm vom Thema ab. Vista64 verwendet jedenfalls einen Emulator (Mapper) um 32 bit Code ausführen zu können.
Ach übrigens. Nicht davon ablenken lassen, dass es unter Vista64 immer noch einen System32 Ordner gibt. Dort sind auch nur noch 64 Bit DLLs drin.![]()





Zitieren
