Writing a DOS Clone in 2019
20 days ago
- #rust
- #operating-systems
- #retro-computing
- Author took a one-month sabbatical and built a DOS-compatible OS as a personal project.
- Motivation stemmed from retro-computing interest and previous experience with emulator development.
- The project implements half of the extended DOS API, basic driver support, FAT-12 filesystem, and a command prompt.
- Future goals include better directory support, multiple drives handling, and additional filesystem support.
- The OS runs in Real Mode, contrary to modern OS development practices, due to historical DOS compatibility.
- Real Mode introduces challenges like memory segmentation, which complicates memory addressing.
- The boot process relies on BIOS, loading a custom bootloader that initializes the kernel and drivers.
- The kernel is written in Rust, leveraging its systems programming strengths while navigating Real Mode constraints.
- Development involved overcoming Rust-specific challenges like static linking and memory management in a constrained environment.
- The project is a work in progress, with plans to open-source the code and further explore kernel internals and COM file execution.