本项目包含使用C语言编写的完整软件系统源代码,适用于操作系统开发、嵌入式系统及其他需要高效能计算的应用场景。
尽管我的题目是“用C语言编写操作系统”,但仅靠C语言无法实现这一目标。我注意到许多关于自行开发操作系统的文章几乎都来源于一篇名为《Write Your Own Operating System Tutorial》的英文文章,而这些文章使用的是汇编语言。如今精通汇编语言的人已经很少了,然而现代操作系统的主体部分确实大多采用C语言编写。因此,“Own Operating System”是否只能用汇编语言来实现呢?我在此不才,利用C语言(某些地方需要结合汇编代码)开发了一个与上述文章中提到的操作系统相媲美的操作系统,并希望将其发展成真正属于中国人的操作系统。
我在Windows环境下进行开发,而不是大多数开发者选择的Linux环境。我的工具是Microsoft公司的masm615和VC15。微软公司出品的masm广为流传,大家应该不陌生;而vc15则被认为是用于DOS程序开发最为高级的编译器(尽管存在一些BUG)。如果找不到这些特定的开发工具,使用TASM、Turbo C或Borland C++也是可以替代的选择。我提供的示例将以masm615和VC15为基础编写,在其他平台如TASM、TC或BC上进行移植应该不难。
需要注意的是,这里使用的源码需要在TINY模式下编译以生成实模式代码。