DOSEMU

DOSEMU

DOSEMU(DOS Emulation)는 리눅스(Linux) 환경에서 MS‑DOS 프로그램을 실행할 수 있도록 해주는 오픈소스 에뮬레이터이다. 이름은 “DOS Emulation”을 줄인 것으로, 원래는 “DOS Emulator”라는 의미를 담고 있다.

개요

  • 대상 운영체제: 주로 리눅스 커널을 실행하는 시스템(32‑bit, 64‑bit) 및 FreeBSD 등 유닉스 계열 OS
  • 주요 기능: DOS 프로그램(특히 오래된 게임, 비즈니스 소프트웨어 등)을 가상 환경에서 실행
  • 동작 방식: 커널 모듈(dosemu)과 사용자 공간 프로그램(dosemu)을 결합해, 실제 x86 하드웨어를 흉내 내는 방식으로 DOS 인터럽트와 메모리 접근을 처리한다.
  • 라이선스: GNU GPLv2

역사

연도 내용
1994 Jürgen “Korn” Müller가 최초 버전인 dosemu‑0.1을 발표
1997 dosemu‑0.3에서 X‑Window 지원 및 가상 파일 시스템(VFS) 도입
2003 dosemu‑0.8에서 32‑bit 커널 모듈 지원 및 SMP(다중 코어) 최적화
2009 dosemu‑0.99 출시, 64‑bit 시스템에서도 동작하도록 커널 모듈 재작성
2015‑현재 dosemu2 (dosemu‑2.x)가 활발히 개발 중이며, GitHub에서 소스가 관리되고 있다. 최신 버전은 2.4.x 시리즈가 배포되고 있다.

주요 기능 및 특징

  1. 실제 하드웨어와 유사한 I/O 처리
    • BIOS 인터럽트, 비디오 메모리(텍스트/그래픽), 플롭 디스크, 하드 디스크 인터페이스를 그대로 구현.
  2. 파일 시스템 통합
    • 유닉스 파일 시스템을 DOS 파일 시스템(.dos) 형태로 마운트하여, 실제 파일을 DOS 프로그램이 직접 읽고 쓸 수 있게 함.
  3. X‑Window 그래픽 지원
    • dosemu -X 옵션을 통해 DOS 프로그램이 X11 창 안에서 실행되며, 복수 창 지원이 가능.
  4. 멀티스레드 및 멀티코어 지원
    • 최신 커널 모듈은 SMP 환경에서 효율적으로 동작한다.
  5. 음향 및 입출력 장치 에뮬레이션
    • ALSA, PulseAudio와 연동하여 사운드 출력 지원.
    • 마우스 및 시리얼 포트(tty) 에뮬레이션 제공.

사용법 (기본)

# 패키지 설치 (예: Debian/Ubuntu)
sudo apt-get install dosemu

# 기본 실행 (현재 디렉터리의 .exe 파일 실행)
dosemu -f program.exe

# X‑Window 모드 (그래픽 창)
dosemu -X -f game.exe

# 파일 시스템 마운트 예시
dosemu -f program.exe -c /home/user/dosdir:/dos
  • -f : 실행할 DOS 프로그램 지정
  • -X : X‑Window 모드 활성화
  • -c : 유닉스 디렉터리를 DOS 가상 드라이브에 마운트 (/hostdir:/dosdrive)

호환성

  • 지원되는 DOS 버전: MS‑DOS 3.3 ~ 6.22, IBM PC DOS, DR‑DOS 등 대부분의 16‑bit DOS 환경.
  • 지원되지 않는 경우: 32‑bit 보호모드 기반의 DOS 프로그램(예: Windows 95/98 실행 파일)이나 최신 BIOS/UEFI 요구 프로그램은 동작하지 않는다.

관련 프로젝트

  • DOSBox: 주로 게임을 위한 DOS 에뮬레이터이며, 완전한 하드웨어 에뮬레이션 대신 인터프리터 방식.
  • FreeDOS: 자유롭게 배포 가능한 DOS 운영체제로, DOSEMU와 함께 사용되기도 함.
  • Wine: 유닉스에서 Windows API를 구현하지만, DOS 전용이라고는 할 수 없다.

개발 현황 및 커뮤니티

  • 공식 저장소: https://github.com/dosemu2/dosemu2
  • 주요 개발자: Michael Schröder, Jürgen Müller 등 다수의 커미터가 활동.
  • 배포 형태: 주요 리눅스 배포판에 패키지로 제공되며, 최신 기능은 소스 코드를 직접 컴파일하여 사용 가능.
  • 문서: man dosemu, /usr/share/doc/dosemu/README, 온라인 위키 등이 제공된다.

참고 문헌

  1. Müller, Jürgen. DOSEMU – A DOS Emulator for Linux. Linux Journal, 1995.
  2. “DOSEMU 2 User Guide”. GitHub Repository, 2023. https://github.com/dosemu2/dosemu2/wiki
  3. “Running DOS games under Linux”. Linux Magazine, 2021년 6월호.

위 내용은 DOSEMU에 대한 전반적인 개요·역사·기능·사용법 등을 포괄적으로 정리한 것으로, 백과사전 수준의 정보를 제공한다.

둘러보기

더 찾아볼 만한 주제