怎样写一个简单的操作系统(2)
时间:2026-01-15
时间:2026-01-15
怎样写一个简单的操作系统
在您阅读了本文之后,如果您想更进一步在这方面进行探索并扩展您的能力,您可以继续看一下Mike OS(译注:http://mikeos.berlios.de/)项目,这是一个更大更完备的x86汇编语言操作系统。
必备知识
编程经验是必不可少的。如果你已经使用一些高级语言像PHP和JAVA之类的做过一些开发,那再好不过,但是,你最好还要具备一些更底层语言的知识,像C之类的,特别是对一些内存和指针的问题比较熟悉。
在本文中,我们将使用Linux操作系统来作开发平台,当然,在Windows上面进行操作系统开发也是可以是的,但是显然在Linux上面开发更加的简单,因为你需要点击几下鼠标敲击几个命令就可以获得一套完整的开发工具。 在Linux上面制作软盘和CD – ROM也更方便,你不需要安装一些繁琐的驱动程序。
现在安装Linux是非常容易的,如果你不想在你的计算机上面安装双系统,你可以把Ubuntu(译注:Ubuntu是Linux操作系统中的一个)安装在VMware或者VirtualBox上面,进入Ubuntu之后,只需要在命令行窗口键入下面的命令,就可以获得本文所需要的全部工具,简单把:
sudo apt-get install build-essential qemu nasm
通过这个命令你可以获得开发工具(编译器等等),QEMU PC仿真器和NASM的汇编器等等,汇编器能把汇编语言转换原生的机器码而组成可执行文件。
计算机启动
如果你正在为一个x86系统(这是最好的选择,因为有大量的文档可以参考)的计算机写操作系统,你需要理解计算机启动过程的基本知识,不过幸运的是,你现在不需要去了解图形驱动程序和网络协议等等复杂的部分,因此你可以专注于最本质的地方。
当计算机通电之后,它最开始执行的是BIOS(基本输入/输出系统)程序,它本质上是一个内置在系统中的微型操作系统。BIOS执行一些基本的硬件检测(如内存检查等),并且绘制一些特殊的图形(如DELL的LOGO)或者打印一些诊断文本到屏幕上。做完这些之后,
它开始从某个可以找到的媒介上加载你的操