NEXT UP previous
Next: Installation

DOSEMU

A package which is available to run under Linux and which will allow you to run a great deal of DOS software from within Linux is called DOSEMU. The name suggests that DOSEMU is a DOS emulator - this is not the case. In fact, DOSEMU just emulates the machine environment in which DOS runs. On top of this environment you actually run a real copy of DOS. Since the various versions of DOS with which DOSEMU will run are proprietary products, the DOSEMU package does not include a version of DOS - this means that you will have to buy and use your own copy.

The way that DOSEMU works is to use the virtual 8086 mode of the 80386 processor to provide a hardware environment in which real-mode software will run, while the processor continues operating in protected-mode. Using this arrangement will allow real-mode software to be run at the same time as the Linux operating system.

The DOSEMU software then has the task of providing the functionality of the PCs BIOS, with all of its system calls and entry points. In particular, what this means under Linux is that the DOSEMU library uses Linux facilities to emulate the PCs ROM BIOS including:

	int1O	video driver;
	int13	disk driver;
	int14   serial driver;
	int15	I/O subsystem extensions;
	int16	keyboard driver;
	int17	parallel printer driver;
	int1a	CMOS real time clock.

If the emulation is sufficiently accurate, then any software (DOS, for instance) will run under the emulator and be unaware that it is not running in the real environment. Similarly, with DOS running, other application programs should be able to run, making use of DOS and emulated BIOS calls. Figure 13.1 shows the memory map that DOSEMU needs to emulate to meet the expectations of DOS and its applications.


NEXT UP previous
Next: Installation