Updated: July 16, 2020 (December 26, 2017)

  Charts & Illustrations

x86 32-bit Windows Emulation on ARM Processors

My Atlas / Charts & Illustrations

295 wordsTime to read: 2 min
Michael Cherry by
Michael Cherry

Michael analyzed and wrote about Microsoft's operating systems, including the Windows client OS, as well as compliance and governance. Michael... more

Always Connected devices use ARM processors but can run many existing x86 Win32 applications unmodified using Windows on Windows (WOW) emulation.

As shown in the illustration, Windows 10 and most of its components, such as the Explorer shell and Edge browser, run as native processes (dark shade) on the ARM CPU and hardware and ARM device drivers. The Windows kernel and device drivers run in kernel mode, while system services (NTDLL) and other native system DLLs run as native processes in user mode.

To provide the best performance, the emulation of x86 for Win32 applications runs on a just-in-time basis. This means that blocks of code for an x86 legacy application running on Windows 10 on the ARM CPU are converted to native ARM code just prior to execution. To keep the emulation efficient, frequently called blocks of converted code are cached in RAM and frequently used programs are cached on disk (space permitting). The just-in-time and caching may mean that the first time an application runs by emulation could be slow.

Atlas Members have full access

Get access to this and thousands of other unbiased analyses, roadmaps, decision kits, infographics, reference guides, and more, all included with membership. Comprehensive access to the most in-depth and unbiased expertise for Microsoft enterprise decision-making is waiting.

Membership Options

Already have an account? Login Now