orange's 一个操作系统的实现 实验环境搭建

计算机开启后的流程是:

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/24087.html