Software:DOSEMU

From HandWiki
Short description: DOS compatibility layer for Linux
DOSEMU
Dosemu.png
DOSEMU Running on C:\
Original author(s)DOSEMU Team
Initial releaseSeptember 3, 1992; 31 years ago (1992-09-03)[1]
Final release
1.4.0 / May 5, 2007; 16 years ago (2007-05-05)
Operating systemLinux
TypeCompatibility layer
LicenseGPL
Website{{{1}}}
dosemu2
Preview release
2.0pre9 / 29 January 2022; 2 years ago (2022-01-29)
Repositorygithub.com/dosemu2/dosemu2
Websitedosemu2.github.io/dosemu2/

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.

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

References

  1. "DOSEMU for Linux / History / Browse Commits". https://sourceforge.net/p/dosemu/history/commit_browser. 
  2. "#751632 dosemu: DPMI fails to initialize on x86_64 with linux 3.15". https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751632.  140715 bugs.debian.org
  3. "The dosemu HOWTO". http://dosemu.sourceforge.net/docs/HOWTO/.  090430 dosemu.sourceforge.net
  4. "dosemu v1.3.5 source". http://prdownloads.sourceforge.net/dosemu/dosemu-1.3.5.tgz?download.  090430 prdownloads.sourceforge.net src/dosext/net/net/pktnew.c
  5. "dosemu v1.4.0 source". 2007-05-05. http://prdownloads.sourceforge.net/dosemu/dosemu-1.4.0.tgz?download.  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. http://dosemu.org/stable/announce. "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)" 

External links