Bei der Virtuellen DOS-Maschine (VDM) handelt es sich um eine in einigen Microsoft Windows NT-Systemen enthaltene VM, um die Vereinbarkeit mit älteren, für MS-DOS entwickelten Programmen zu gewährleisten. Ab ntvdm. exe werden eine DOS-Umgebung, einige PC-Hardwarekomponenten (z.B. Real-ModeProzessor, Intel 8253/8254 PIT, CGA/EGA/VGA/PC-BIOS) sowie gebräuchliche DOS-Speicherschnittstellen (EMS/XMS/DPMI) für nicht für die Win32-API entwickelte aber für die INT-21h-Schnittstelle oder den Hardware-Direktzugriff programmierte Anwendungen weitestgehend nachgebildet.
Diese Emulationsebene kann für die meisten DOS Programme unter Windows verwendet werden. Systemvoraussetzungen (z.B. Lese- oder Schreibzugriff auf Dateien) werden von der Virtuellen DOS-Maschine in die entsprechende Windows-Funktionalität umgerechnet. Maschinenbefehle, die unter Windows nicht erlaubt sind (diese verursachen Ausnahmen), aber unter DOS nicht geschützt wären, werden aufgefangen und dann entweder nachgebildet ('int','in/out','cli/sti','hlt') oder noch deaktiviert ('direct access to disks').
Mehrere Exemplare einer virtuellen DOS-Maschine können durchgeführt werden. So können mehrere virtualisierte DOS-Maschinen auf einem Windows-Betriebssystem parallel ablaufen. Mit speziellen Wrapper-Funktionen ist es möglich, von Windows aus auf den Content des VDM zuzugreifen. Um DOS-Programme zu starten, verwendet die VM den virtuellen 8086-Modus von x86-Prozessoren.
Weil der Virtual 86-Modus jedoch nicht mehr arbeitet, wenn sich der Rechner bereits im 64-Bit-Long-Modus befindet, wird NTVDM nicht mehr mit 64-Bit-Versionen von Windows geliefert. 1] Die von DOSEMU für Linux geschaffene DOS Umgebung hat das gleiche Ziel. Alternativ zu NTVDM (und DOSEMU) gibt es entweder einen Emulator, eine Virtual Machine oder einen Deuter.
Mit Hilfe eines Simulators, in dem ein kompletter Rechner inklusive Rechner in einem Programm simuliert wird, können DOS-Programme nicht nur unter Windows, sondern auch auf einer Reihe anderer Betriebsysteme und Computerarchitekturen ablaufen. Zum Beispiel können beispielsweise die virtuellen Rechner wie QEMU, Virtual Desktop, Virtual Box und Virtual Machine auch für die Virtualisierung oder Emulation von DOS eingesetzt werden.
Da ein kompletter Rechner simuliert oder virtuell betrieben wird, muss zunächst ein DOS Betriebssystem in der virtuellen Welt eingerichtet werden. Auch bei der virtuellen Ausführung werden einzelne Komponenten der simulierten Hardwaresysteme automatisch betrieben, was einen Geschwindigkeitsvorsprung bedeutet. Ein Dolmetscher ist für den Benutzer eine weniger komplexe Variante zu NTVDM, z.B. DOSBox, da die Einrichtung eines kompatiblem DOS Betriebssystems nicht notwendig ist.
Darüber hinaus verfügt DOSBox über eine Reihe anderer Optionen zur Kontrolle der Arbeitsumgebung, in der ein DOS-Programm ausgeführt wird, und erfordert keine speziellen Hardwaretreiber. Mit der DOSBox wird ein Intel-Prozessor (i386, i486 oder Pentium) auf nicht-x86er Hardwaresystemen nachgebildet, aber die meisten x86-Befehle werden bei der Ausführung auf einem x86-Prozessor virtuell dargestellt. In beiden Faellen werden Bauteile wie die Sound-Karte nachgebildet.
Es ist kein eigener Fahrer erforderlich, da seine Funktionalitäten auch von der virtuellen DOS Umgebung zur Verfügung gestellt werden.