WOW64 - LinkFang.de





WOW64


WOW64 (Windows-On-Windows 64-bit) ist ein Subsystem des Windows-Betriebssystems, das in der Lage ist, 32-Bit-Anwendungen auszuführen. WOW64 ist in allen 64-Bit-Versionen von Windows seit Windows 2000 bzw. Microsoft Windows XP enthalten. WOW64 berücksichtigt sämtliche Unterschiede zwischen 32-Bit-Windows und 64-Bit-Windows, insbesondere strukturelle Änderungen an Windows selbst.

Übersetzungs-Bibliotheken

Das WOW64-Subsystem ist eine leichtgewichtige Übersetzungsschicht, die auf allen 64-Bit-Versionen von Windows ähnliche Schnittstellen anbietet. Sein hauptsächlicher Zweck ist die Schaffung einer 32-Bit-Umgebung, welche sämtliche Schnittstellen zur Verfügung stellt, die 32-Bit-Windows-Anwendungen benötigen, um ohne Anpassungen auf einem 64-Bit-System zu laufen. Aus technischer Sicht ist WOW64 in vier Programmbibliotheken (DLLs) implementiert:

  • Wow64.dll beinhaltet die Hauptschnittstellen zum Kernel von Windows NT welche zwischen 32-Bit- und 64-Bit-Aufrufen übersetzen, inklusive Zeiger- und Call-Stack-Manipulationen
  • Wow64win.dll stellt die entsprechenden Einsprungspunkte für 32-Bit-Anwendungen zur Verfügung
  • Wow64cpu.dll berücksichtigt die Umschaltung des Prozessors zwischen 32-Bit- und 64-Bit-Modus
  • Ntdll.dll ist die DLL für NT-Layer

Architekturen

Trotz der äußerlichen Ähnlichkeit auf allen 64-Bit-Versionen von Windows unterscheidet sich die Implementierung von WOW64 aufgrund der Architektur des Ziel-Prozessors. Die 64-Bit-Version von Windows beispielsweise, welche für Intel-Itanium-2-Prozessoren entwickelt wurde (bei Microsoft IA-64-Architektur genannt), benutzt die Wow64win.dll für die Emulation von x86-Anweisungen mittels des Befehlssatzes des Itanium 2. Diese Emulation ist rechenaufwendiger als die Funktionen der Wow64win.dll auf AMD64-Architekturen, welche lediglich den Prozessor aus dem 64-Bit-Modus in den 32-Bit-Modus schalten, während ein 32-Bit-Thread ausgeführt wird. Auf AMD64-Systemen ist für WOW64 keine Emulation notwendig.

Registrierungsdatenbank und Dateisystem

Während der Programmausführung lädt Wow64.dll die 32-Bit-Version von Ntdll.dll und alle notwendigen 32-bit DLLs, die weitgehend unveränderte 32-bit Versionen sind.

Das WOW64-Subsystem berücksichtigt auch andere wichtige Aspekte für die Ausführung von 32-Bit-Anwendungen. Das betrifft unter anderem die Verwaltung von Zugriffen auf die Windows-Registrierungsdatenbank (siehe HKEY_LOCAL_MACHINE\Software\WOW6432Node)) sowie auf das Dateisystem, welche in den 64-Bit-Versionen von Windows geringfügige Unterschiede aufweisen.

Normalerweise würde man – wie damals beim Schritt von 16 nach 32 Bit – von einem 64-Bit-Windows erwarten, dass sich die neuen 64-Bit-Systemkomponenten im Verzeichnis %SystemRoot%\system64 befinden und Namen wie kernel64.dll, user64.dll usw. tragen. Das wäre relativ unproblematisch, da die entsprechende 64-Bit-Software ohnehin neu compiliert werden muss.

Zwecks Rückwärts-Kompatibilität nutzt das Betriebssystem jedoch das %SystemRoot%\system32-Verzeichnis und unveränderte DLL-Namen für seine 64-Bit-Komponenten. Bei der Ausführung von 32-Bit-Anwendungen werden Zugriffe auf Bibliotheken aus diesem Verzeichnis nach %SystemRoot%\SysWOW64 umgeleitet, wo sich die entsprechenden 32-Bit-Versionen befinden.

Implementierungen außerhalb von Windows

Neben dem in aktuellen Windows-Versionen enthaltenen WOW64-Subsystem von Microsoft gibt es auch Varianten für andere Betriebssysteme. Diese Nachbildungen dienen dazu, Windows-32Bit-Anwendungsprogramme ohne Windows-Betriebssystem auf einer Win64-API zu nutzen. So entwickelt z. B. das Wine[1]-Projekt eine freie WOW64-Nachbildung, die für Linux- und anderen Unix-Systeme verfügbar ist. Aus rechtlichen Gründen sind nicht alle Funktionen des originalen Subsystems vorhanden, was die Kompatibilität mit Anwendungsprogrammen einschränken kann. Da aber die wenigsten Anwendungsprogramme alle Funktionen der Win32-API benötigen, sind viele trotzdem voll nutzbar.

Einzelnachweise

  1. Andre Hentschel: Win64 Support for Wine. Wine-Project, 5. April 2013, abgerufen am 29. August 2013 (englisch).

Siehe auch

Weblinks


Kategorien: Windows

Quelle: Wikipedia - http://de.wikipedia.org/wiki/WOW64 (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.