Virtual DOS machine - Your Art History Reference Guide!

ArtHistoryClub Information Site on Virtual DOS machine Art History Art History Search        Art History Browse welcome to our free resource site for all art history lovers!
Art History Search        Art History Browse             News        Gallery        Forums        Articles        Weblinks        welcome to our free resource site for all art history lovers!

Virtual DOS machine

(Redirected from VDM)

Virtual DOS machine (VDM) is the name of Microsoft's technologies allowing to run MS-DOS programs on Intel 80386 or higher computers when there is already another operating system running and controlling the hardware.

VDMs rely on the virtual 8086 mode of the Intel 80386 processor, which allows to run real mode 8086 software in a controlled environment by catching and forwarding to the normal operating system (as exceptions) all operations which involve accessing hardware. The operating system can then perform an emulation and resume the execution of the DOS software.

VDMs appeared with Windows/386 2.1 and are present in all subsequent versions of Windows. In the Windows NT family, they are however relegated to running DOS programs and do not participate in the implementation of the Windows API anymore. The Windows NT executable which is used to handle a single DOS (and Windows 3.x) environment is called ntvdm.exe.

VDMs were also used in OS/2 2.0 and later.

When a DOS program running inside a VDM needs to access a peripheral, Windows will either allows this directly (rarely), or will present the DOS program with a Virtual Device Driver (VxD in short) which emulates the hardware using operating system functions. A VDM will systematically have emulations for the Intel 8259A interrupt controllers, the 8254 timer chips, the 8237 DMA, etc.

The Linux version of VDMs is Dosemu.

The SCO UNIX version was Merge.

In general, the VDMs and similar technologies (including even VMware) do not allow to satisfactorily run many older DOS programs on today's computers. Emulation is only provided for the most basic peripherals (although Windows XP added emulation of the SoundBlaster and other multimedia devices). Emulation of supported peripherals is incomplete and quirky (NT-family versions of Windows only update the real screen a few times per second when a DOS program writes to it, and do not emulate higher resolution graphics modes). Because software runs mostly native, all timing loops will expire prematurely. This either makes a game run much too fast or causes the software to not even notice the emulated hardware peripherals, because it does not wait long enough for an answer.

A more interesting solution in such cases is to use full CPU emulators like DOSBox. The disadvantage is that it does not allow a totally transparent integration with the primary operating system.

Last updated: 05-22-2005 05:08:22
Last updated: 01-04-2007 01:18:57
The contents of this article are licensed from Wikipedia.org under the
GNU Free Documentation License. See original document.
Art History Search | Art History Browse | Contact | Legal info