写在最前
笔者在动手写此操作系统时是一名大学本科大二的学生,可能文章中会有好多地方我没有解释清楚,可能也会有许多地方出现错误,我恳请各位读者能提出质疑和纠正我的错误,谢谢!
参考书籍:
- 《30天自制操作系统》川合秀实
- 《ORANGE’S:一个操作系统的实现》
开发环境
笔者采用以下开发环境
- Apple Macbook Air
- Ubuntu 12.04 LTS(32 bit)
读者准备
毕竟是动手写一个操作系统,对读者的要求也会相应要求高一些,对计算机编程0基础的读者还是不建议直接看这个系列的文章。希望读者能有 汇编语言、C 语言的基础,对操作系统最好有了解(推荐书籍《操作系统概念》),另外由于开发是在 Ubuntu 的环境中进行的,读者最好对 Linux 的命令、操作等比较熟悉。
环境搭建
安装Bochs 等
Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。更为有趣的是,甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Bochs的平台上模拟x86硬件。通过改变配置,可以指定使用的CPU(386、486或者586),以及内存大小等。一句话,Bochs是电脑里的“PC”。根据需要,Bochs还可以模拟多台PC,此外,它甚至还有自己的电源按钮。
我们所写的操作系统就是模拟在 Bochs 来运行和调试的。
我们使用以下的命令来安装 bochs 等一些工具
sudo apt-get install vgabios bochs bochs-x bximage bochs-sdl
第一个 Hello World
创建软盘镜像
- 使用bximage 命令
- 按照以下来进行配置
========================================================================
bximage
Disk Image Creation Tool for Bochs
$Id: bximage.c,v 1.34 2009/04/14 09:45:22 sshwarts Exp $
========================================================================