WOW64
# WOW64

WoW64 (Windows 32-bit on Windows 64-bit, in italiano windows 32 bit su windows 64 bit) è un sottosistema del sistema operativo Windows capace di far funzionare le applicazioni nate a 32 bit ed è incluso in tutte le versioni di Windows a 64 bit (incluso Windows XP Professional x64 Edition, Windows Server 2003 x64 Edition e Windows XP 64-bit Edition, Windows Vista, Windows Server 2008, Windows 7, Windows 8, Windows Server 2012, Windows 8.1 e Windows 10), mentre è un elemento opzionale per Windows Server 2008 R2 e Server Core, mentre non è compreso per le installazioni del tipo Nano Server delle versioni di Windows (da Windows Server 2016 in poi). WOW64 supplisce a tutte le differenze tra Windows a 32 ed a 64 bit, in particolare i cambiamenti strutturali dello stesso sistema operativo.

## Il passaggio fra le librerie

Il sottosistema WOW64 è un layer di emulazione che ha un'interfaccia simile in tutte le versioni a 64 bit di Windows. Lo scopo primario è di creare un ambiente a 32 bit che consente alle applicazioni a 32 bit di girare come nel sistema a 64 bit. Tecnicamente, è stato realizzato usando tre librerie a collegamento dinamico normalmente chiamate (dynamic-link libraries) DLL: Wow64.dll, che è l'interfaccia principale dei kernel NT che traducono le informazioni dai 32 ai 64 bit, includendo pointer e stack manipulations; Wow64win.dll, che fornisce agli appropriati entry points (punti di entrata) per le applicazioni a 32 bit; e Wow64cpu.dll, che si occupa del passaggio del processore tra la modalità a 32 bit e quella a 64 bit.

## Architetture

Malgrado le apparenti somiglianze con tutte le versioni a 64 bit di Windows, l'implementazione di Wow64 varia in base all'architettura del processore. Per esempio, la versione di Windows a 64 bit sviluppata per i processori Intel Itanium 2 usa la DLL "Wow64win.dll" per l'emulazione delle istruzioni x86 dentro il set unico di istruzioni di Itanium 2. Questo processo è più costoso in termini di calcolo delle funzioni di Wow64win.dll rispetto all'architettura AMD64/EMT64, dato che cambia il processore dalla modalità a 64 bit a quella a 32 quando è il momento di eseguire un thread a 32 bit, e poi lo ricambia nella modalità a 64 bit. Per WOW64 non è richiesta alcuna emulazione di istruzioni su processori AMD64 ed EMT64.

## Il registro ed il file system

Il sottosistema Wow64 si occupa anche di altri aspetti primari del funzionamento delle applicazioni a 32 bit. Per esempio, esso è coinvolto nella gestione delle interazioni delle applicazioni a 32 bit con il registro di sistema di Windows, che è piuttosto differente nella versione del sistema operativo a 64 bit, e nel fornire un'interfaccia alla memoria del sottosistema. Il sistema operativo usa la directory %SystemRoot%\system32 per le sue librerie e per i suoi file eseguibili. Quando sono in esecuzione applicazioni a 32 bit, WOW64 ridireziona le richieste per le DLL da questa directory alla %SystemRoot%\sysWOW64, che contiene vecchi eseguibili e le vecchie librerie.

