Girish Mahajan (Editor)

DOSEMU

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
DOSEMU Team

Operating system
  
Linux

Development status
  
Active

Type
  
Compatibility layer

DOSEMU

Initial release
  
September 1992; 24 years ago (1992-09)

Stable release
  
1.4.0 / May 5, 2007; 9 years ago (2007-05-05)

DOSEMU, stylized as dosemu, is a compatibility layer software package that enables DOS operating systems (e.g., MS-DOS, DR-DOS, FreeDOS) and application software to run atop Linux on x86-based PCs (IBM PC compatible computers).

Features

It uses a combination of hardware-assisted virtualization features and high-level emulation. It can thus achieve nearly native speed for 8086-compatible DOS operating systems and applications on x86 compatible processors, and for DOS Protected Mode Interface (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 device 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 DOS in a DOS box. The DOS box, relying on a combination of hardware and software, has these abilities:

  • 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 needed 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.
  • API-level support for Packet driver, IPX, Berkeley sockets (dosnet).
  • References

    DOSEMU Wikipedia