ARCHIVED: In Windows NT, 2000, and XP, what are NTVDM and WOW?

This content has been archived, and is no longer maintained by Indiana University. Information here may no longer be accurate, and links may no longer be available or reliable.

NTVDM stands for "NT Virtual DOS Machine". WOW stands for "Windows on Windows". They are both names for the same Win16 subsystem that runs under Windows NT, 2000, and XP.

The Win16 subsystem is an emulated DOS subsystem that runs under NT-based Windows operating systems. It allows 16-bit applications to run as if they were being executed on a DOS computer, with that computer's multitasking and segmented memory model. The subsystem is preemptively multitasked, so that 16-bit DOS and Windows applications cannot crash the operating system. Within the subsystem, however, applications behave exactly as they do on a DOS/Win 3.x computer, so 16-bit applications within a Win16 subsystem can crash one another or the Win16 subsystem.

To prevent 16-bit applications from crashing one another, you can launch multiple WOW subsystems. To do this, make certain that you specify the Run in Separate Memory Space option for the program's icon or shortcut; this will cause the application to run in its own WOW subsystem. Running 16-bit Windows applications in a separate memory space, however, has two possible disadvantages. First, it uses more memory and system resources, which can reduce overall performance. Secondly, any 16-bit applications that use shared memory to communicate with one another will no longer function correctly with other integral 16-bit applications. In other words, if your 16-bit Windows application does not use either OLE or DDE to exchange information with other 16-bit applications, you may find that your program will no longer function usefully. If, however, your program does not communicate using shared memory, then you will find that this process prevents 16-bit applications from crashing one another.

Note: Windows NT, 2000, and XP will not allow the Win16 subsystem to execute instructions that attempt to directly manipulate hardware or memory locations. As a result, some DOS and Windows 3.x applications (such as games) may not run.

This is document acxn in the Knowledge Base.
Last modified on 2018-01-18 10:42:52.