Dosemu is the classic DOS emulator for Linux systems. The mechanism by which it operates is very similar to the mechanism by which DOS programs are run under Windows, unlike its current competition, bochs and DOSBox, which both emulate a separate machine rather than virtualising the underlying machine. This is a consequence of Dosemu's long history, with version 0.1 appearing in September 1992. At that time, computers were not powerful enough to run DOS and DOS programs through emulation, but as a consequence of this design Dosemu is not portable off Linux/x86.
Dosemu requires a version of DOS to run inside of it. It is usually distributed with a version of FreeDOS specially set up to be most useful for Dosemu, although an older DOS such as MS-DOS or DR-DOS can be used as well. Dosemu comes with a set of DOS utilities to install on the DOS system which are aware of the emulator and can interact with it and the host Linux system. Dosemu works equally well with disk images or directories of the Linux file system, the latter accessed through the lremap command.
The virtualisation approach used by Dosemu has its advantages and disadvantages in terms of compatibility. The compatibility of Dosemu is not limited by the quality or completeness of its CPU emulation because there is no CPU emulation, but conversely there are some programs that use features of the processor, such as protected mode operation in Ring 0, that cannot be virtualised due to their use in the base operating system. However, since Dosemu has to emulate sound and video hardware, it has no real advantage there, although its sound and video emulators are very mature. One disadvantage is that the sound emulation does a very poor job of MIDI.
As the Dosemu developers place a higher value on generality than on Dosemu working out of the box, Dosemu requires more manual configuration than Bochs or DOSBox to access sound, video, and disks. The Dosemu documentation is also rather lacking, with much of it not having been revised for five years or more. These combined factors can make installing Dosemu a headache, although the latest version (1.2.0) has smoothed this process considerably.
Dosemu is available in versions for both X11 and svgalib. Recently, version 1.2.0 was released; it was the first new version in almost four years. The Dosemu homepage is at http://www.dosemu.org/ .
(CC)
This writeup is copyright 2004 D.G. Roberge and is released under the Creative Commons Attribution-NonCommercial-ShareAlike licence. Details can be found at http://creativecommons.org/licenses/by-nc-sa/2.0/ .