写在前面的话:
一直以来就想要自己动手写一个简单的操作系统,可惜水平有限,在linux下编译安装一个程序几天都没有成功,更不用说研究Linux的内核代码了。后来买来minix的书籍,看了半个月,也不知道如何开始写自己的第一行代码……
无意中发现于源写的《自己动手写操作系统》,终于让我真正踏上了编写操作系统的第一步。这里要非常感谢于源大大为广大学习编写操作系统的初学者作出的巨大贡献。
可惜好景不长,因为对书本中第二章配置实验环境这一关没有完全通过,在第五章就卡壳了。之后因为电脑资源吃紧,将实验用的虚拟机都删除了。学习之路也就沉默了下来。
最近,在逛CSDN时,无疑发现了杨晓兵大大的博客以及所编写的编译器YC09还有上面作为范例之一的tinix操作系统,才知道,原来编写测试操作系统代码可以这么简单——只需一个yc09编译器与虚拟机Bochs就可以了,再也不许要花费大力气来配置实验环境安装Virtual PC、VMware以及DOS和Linux,又是使用nasm又是gcc,以及一次又一次启动虚拟机里的DOS或Linux。于是重新燃起了编写操作系统的热情。
实验环境:windows XP
编译器:YC09
运行调试工具:Bochs
实验代码结构说明:
所有实验都是由run.c以及操作系统实际实验代码组成。run.c的作用是生成run.exe程序,由run.exe程序自动编译实验代码,生成img以及调用运行Bochs。只要一次编译好run.c,此后修改微调实验代码后,直接运行run.exe即可。我特地设置run.c为一个无限循环。于是修改测试实验代码就变得非常简单: