Virtual DOS machines (VDM) refer to a technology that allows running 16-bit/32-bit DOS and 16-bit Windows programs when there is already another operating system running and controlling the hardware.

Overview

Virtual DOS machines can operate either exclusively through typical software emulation methods (e.g. dynamic recompilation) or can rely on the virtual 8086 mode of the Intel 80386 processor, which allows real mode 8086 software to run in a controlled environment by catching all operations which involve accessing protected hardware and forwarding them to the normal operating system (as exceptions). The operating system can then perform an emulation and resume the execution of the DOS software.

VDMs generally also implement support for running 16-bit and 32-bit protected mode software (DOS extenders), which has to conform to the DOS Protected Mode Interface (DPMI).

16-bit Windows applications by default all run in their own thread within a single NTVDM process. Although NTVDM itself is a 32-bit process and pre-emptively multitasked with respect to the rest of the system, the 16-bit applications within it are cooperatively multitasked with respect to each other. When the "Run in separate memory space" option is checked in the Run box or the application's shortcut file, each 16-bit Windows application gets its own NTVDM process and is therefore pre-emptively multitasked with respect to other processes, including other 16-bit Windows applications. NTVDM emulates BIOS calls and tables as well as the Windows 3.1 kernel and 16-bit API stubs.

See also

  • Comparison of platform virtualization software
  • DESQview 386 (since 1988)
  • Wine (software)
  • DOSBox
  • DOSEMU
  • Merge (software)
  • List of Microsoft Windows components
  • Hypervisor
  • Windows on Windows (WoW)
  • Virtual machine (VM)

Notes

References

</references>

Further reading

  • Virtual DOS Machine Structure
  • Troubleshooting MS-DOS-based programs in Windows XP
  • Troubleshooting an MS-DOS application which hangs the NTVDM subsystem in Windows XP and Windows Server 2003
  • Troubleshooting MS-DOS-based serial communication programs in Windows 2000 and later
  • NTVDM from ReactOS, the custom standalone variant of NTVDM by Michael Stamper (able to run windowed text mode MS-DOS software in 64 bit Windows NT systems, this NTVDM works by using the following syntax: ntvdm.exe program.exe, like start command in Windows.
  • MS-DOS Player for Win32-x64, a Microsoft MS-DOS Emulator, runs many command line DOS programs like compilers or other tools, also packaged into one standalone executable file.
  • vDOS, a DOS emulator designed for the running the more serious DOS apps (not games) on 64-bit NT systems (effectively a replacement for NTVDM on modern systems).