Writing a DOS Clone in 2019
6 months ago
- #rust
- #operating-systems
- #retro-computing
- 作者休了一个月的学术假,作为个人项目开发了一个兼容DOS的操作系统。
- 项目动机源于对复古计算的兴趣以及之前开发模拟器的经验。
- 该系统实现了半数扩展DOS API、基础驱动支持、FAT-12文件系统和命令行界面。
- 未来目标包括改进目录支持、多驱动器管理和更多文件系统兼容。
- 为保持历史兼容性,该操作系统采用实模式运行,这与现代操作系统开发实践相悖。
- 实模式带来内存分段等挑战,增加了内存寻址的复杂性。
- 启动过程依赖BIOS,通过自定义引导加载程序初始化内核和驱动程序。
- 内核使用Rust语言编写,充分发挥其系统编程优势,同时适应实模式限制。
- 开发过程中克服了静态链接、受限环境内存管理等Rust特有的技术难题。
- 该项目仍在推进中,计划开源代码并深入研究内核内部机制及COM文件执行。