orange's 一个操作系统的实现 实验环境搭建
2011-05-21 09:51
381 查看
计算机开启后的流程是:
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
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
相关文章推荐
- 《Orange's 一个操作系统的实现》学习笔记(一) 实验环境搭建
- orange's一个操作系统的实现--环境搭建
- 《Orange's 一个操作系统的实现》读书手记2--- [ 搭建你的工作环境]
- Orange's一个操作系统的实现的开发环境的搭建
- 《Orange's 一个操作系统的实现》读书手记2--- [ 搭建你的工作环境]
- 读书笔记:Orange's 一个操作系统的实现(1) - 实验环境搭建和引导扇区的编写
- Oragne's 一个操作系统的实现的环境搭建【ubutu+win7】
- 2.pmtest2.asm <Orange's 一个操作系统的实现>
- 《Orange's 一个操作系统的实现》学习笔记--LDT
- 《Orange'S:一个操作系统的实现》学习笔记(三)--bochs
- 《Orange'S:一个操作系统的实现》学习笔记(四)
- 《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(二)
- 《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(四)
- Orange'S:一个操作系统的实现
- 《Orange'S:一个操作系统的实现》学习笔记(一)
- 《Orange's 一个操作系统的实现》读书手记3(4)--- [ 保护模式(Protect Mode)]
- 《Orange's 一个操作系统的实现》学习笔记--特权级代码段之间的转移(三)
- Orange_OS-一个操作系统的实现--搭建环境写一个最小的操作系统
- bochs 2.4.2 ubuntu 安装运行问题《orange's 一个操作系统的实现》第二章 调试篇
- Orange's 一个操作系统的实现之笔记1