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).

DOSEMU
Original author(s)DOSEMU Team
Initial releaseSeptember 3, 1992; 32 years ago (1992-09-03)[1]
Final release
1.4.0 / May 5, 2007; 17 years ago (2007-05-05)
Repository
Operating systemLinux
TypeCompatibility layer
LicenseGPL
Websitewww.dosemu.org Edit this at Wikidata
dosemu2
Preview release
2.0pre9 / 29 January 2022; 2 years ago (2022-01-29)
Repositorygithub.com/dosemu2/dosemu2
Websitedosemu2.github.io/dosemu2/

Features

edit

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.

DOSEMU 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).[2]

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.[3]
  • API-level support for Packet driver,[4] IPX, Berkeley sockets (dosnet).[5][6]

See also

edit

References

edit
  1. ^ "DOSEMU for Linux / History / Browse Commits".
  2. ^ "#751632 dosemu: DPMI fails to initialize on x86_64 with linux 3.15". 140715 bugs.debian.org
  3. ^ "The dosemu HOWTO". Archived from the original on 2012-12-25. 090430 dosemu.sourceforge.net
  4. ^ "dosemu v1.3.5 source". 090430 prdownloads.sourceforge.net src/dosext/net/net/pktnew.c
  5. ^ "dosemu v1.4.0 source". 2007-05-05. Retrieved 2016-04-06. src/dosext/net/net/ipx.c src/dosext/net/v-net/dosnet.c
  6. ^ "The DOSEMU team is proud to announce DOSEMU 1.4.0". 2007-05-05. Archived from the original on March 15, 2016. Retrieved 2016-04-06. NetWare and other network connectivity via built-in IPX and pktdrvr support /../ the dosemu-freedos binary package starts a DOS-"C:\>"-Drive 'out-of-the-box' in a normal user's $HOME directory and runs without any further configuration (no root rights needed){{cite web}}: CS1 maint: unfit URL (link)
edit