It uses a combination of hardware virtualization features and high-level emulation. It is thus able to achieve nearly native speed for 8086-compatible DOS operating systems and applications on x86 compatible processors, and for DPMI applications on x86 compatible processors as well as on x86-64 processors. DOSEMU includes an 8086 processor emulator for use with real-mode applications in x86-64 long mode.
Currently it is only available for x86 and x86-64 Linux systems (Linux 3.15 x86-64 systems cannot enter DPMI by default. This is fixed in 3.16).
DOSEMU is an option for people who need or want to continue to use legacy DOS software, in some cases virtualisation is good enough to drive external hardware such as EPROM programmers connected to the parallel port. According to its manual, "dosemu" is a user-level program which uses certain special features of the Linux kernel and the 80386 processor to run MS-DOS, FreeDOS or DR-DOS in a DOS box. The DOS box, relying on a combination of hardware and software, has these capabilities:
Virtualize all input/output and processor control instructions
Supports the word size and addressing modes of the iAPX86 processor family's "real mode", while still running within the full protected mode environment
Trap all DOS and BIOS system calls and emulate such calls as are necessary for proper operation and good performance
Simulate a hardware environment over which DOS programs are accustomed to having control.
Provide DOS services through native Linux services; for example, dosemu can provide a virtual hard disk drive which is actually a Linux directory hierarchy.