Performance-Analyse

Test: Athlon 64 mit Windows XP 64 Bit

WOW64-Technologie

Microsofts Windows XP 64 Bit Edition für AMD64-Prozessoren verfügt über die WOW64-Technologie zum Ausführen von 32-Bit-Programmen. WOW64 steht für Windows on Windows 64 und ist ein so genannter Translation Layer. Führt ein 32-Bit-Programm eine Systemanfrage an das 64-Bit-Betriebssystem durch, so müssen dessen Argumente wie beispielsweise Address-Pointer übersetzt werden. Diese Aufgabe übernimmt der WOW64-Layer, der ein integraler Bestandteil von Windows XP 64 Bit Edition ist.

Jede 32-Bit-Applikation ist dynamisch mit dem WOW64-Layer verlinkt. Alle Anfragen der Programme werden an die aus DLLs bestehenden Layer weitergeleitet. WOW64 führt bei jedem Systemaufruf folgende Sequenz von Operationen durch:

  • Übersetzen von notwendigen Parametern

  • Übermittelt Befehlsaufrufe an den 64-Bit-Kernel

  • Übersetzen von Ergebnissen

  • Übermitteln der Daten/Ergebnisse an die Applikation

Verantwortlich für das Bereitstellen der 32-Bit-Umgebung unter Windows XP 64 Bit Edition sind die drei Dateien wow64.dll, wow64win.dll und wow64cpu.dll. So führt beispielsweise wow64cpu.dll das Umschalten des Betriebsmodus am AMD64-Prozessor durch. Die beiden CPU-Zustände 64-Bit- und Compatibility-Mode wählt die DLL über zwei zu setzende Flags im CS-Descriptor.

Für 32-Bit-Applikationen gelten unter Windows XP 64 Bit Edition weiterhin die 32-Bit-Restriktionen. So können sie auch nicht vom bis zu 16 TByte großen Adressraum profitieren. Allerdings stehen den 32-Bit-Programmen mit WOW64 volle 4 GByte Arbeitsspeicher zur Verfügung - unter Windows XP 32 Bit gibt es nur 2 GByte für Anwendungen.

Neu ist die WOW64-Technik beim AMD64-Betriebssystem nicht: Microsoft verwendet das Verfahren bereits in der 64-Bit-Windows-Version für Intels Itanium-Prozessoren. Ein ähnliches Verfahren mit dem Namen WOW führt auch in vorhandenen 32-Bit-Windows-Versionen 16-Bit-Anwendungen aus.