*** Welcome to piglix ***

Windows on Windows


In computing, Windows on Windows (commonly referred to as WOW,) is a compatibility layer of 32-bit versions of the Microsoft Windows NT family of operating systems that extends NTVDM to provide limited support for running legacy 16-bit programs written for Windows 3.x or earlier. There is a similar subsystem, known as WoW64, on 64-bit Windows versions that runs 32-bit programs.

Many 16-bit Windows legacy programs can run without changes on newer 32-bit editions of Windows. The reason designers made this possible was to allow software developers time to remedy their software during the industry transition from Windows 3.1x to Windows 95 and later, without restricting the ability for the operating system to be upgraded to a current version before all programs used by a customer had been taken care of.

The Windows 9x series of operating systems, reflecting their roots in DOS, functioned as hybrid 16- and 32-bit systems in the sense that the underlying operating system was not truly 32-bit, and therefore could run 16-bit software natively without requiring any special emulation; Windows NT operating systems differ significantly from Windows 9x in their architecture, and therefore require a more complex solution. Two separate strategies are used in order to let 16-bit programs run on 32-bit versions of Windows (with some runtime limitations). They are called thunking and shimming.

The WOW subsystem of the operating system thunks legacy 16-bit APIs to their newer 32-bit equivalents in order to provide support for 16-bit pointers, memory models and address space.


...
Wikipedia

...