计算机开启后的流程是:
BOIS加电自检–>加载引导区程序–>加载系统内核程序
BOIS加电自检我们不用处理,是已经好的东西,而剩下的两部分则是我们要关心的,也是我们OS的开始部分了。
但是对于引导区程序,我们可以使用前辈的成熟东西FreeDOS,使用FreeDOS来加载我们写的内核。
由于FreeDOS运行在实模式下,为我们的保护模式的处理提供了基础。
BOIS 加载 引导区
引导区 加载 内核
下面说说开发步骤:
1、安装Linux系统
2、在Linux下安装bochs
3、使用bochs的工具bximage制作虚拟软/硬盘xxx.img
4、编写bochs的配置文件(一般为bochsrc/bochsrc.txt/bochsrc.bxrc)
在配置文件中:floppya 是我们的引导扇区的程序(FreeDOS.img)
floppyb 是我们制作的虚拟软/硬盘xxx.img
boot 指定首先要启动的文件时哪个
5、编写我们自己的程序,并编译为yyy文件
6、将编译好的文件拷贝到虚拟软/硬盘xxx.img中。使用linux下命令:
sudo mount -o loop xxx.img /mnt/floppy
sudo cp yyy /mnt/floppy/
sudo umount /mnt/floppy
7、在Linux下使用命令启动FreeDOS
bochs -f 配置文件名
8、在bochs下 执行我们的程序yyy
B:\yyy (可以使用dir命令查看B盘下的文件,然后输入可执行文件的名称,执行文件)
如果要直接启动我们写的程序的话,将我们的yyy程序拷贝入xxx.img文件
Linux下命令:dd if=yyy of=xxx.img bs=512 conv=notrunc
然后在配置文件中将,floppya设置为xxx.img