首页 > 代码库 > 20天自制操作系统(一)

20天自制操作系统(一)

为什么博文分类以及博文名字叫“20天自制操作系统”呢?

因为6月11日到7月还有接近20天的时间,所以我取整,接近20天内学完。

《30天自制操作系统》 作者  川合秀实   译者  周自恒,李黎明,曾箱江,张文旭

这本书。

PS:从5月20号到6月10日,除了上班之外,下班就是吃喝玩,浪费了特别多的时间。看到BIT祝威日进千里,我深感惭愧。所以我决定“改邪归正”。

好了,开始。

首先罗列出工具:

--------------------------------------------------------------

nask:    nasm的变种

edimg:  磁盘映像管理工具  主要作用是写磁盘扇区

qemu:   模拟器

VM:      虚拟机

VM的真实程度比qemu的高,测试必备。

--------------------------------------------------------------

我们看看helloos4文件夹中的helloos.nas最终是如何生成img文件的。

运行!cons_nt.bat,打开cmd,这时的路径为当前目录,然后按顺序执行下列文件。

1.asm.bat:

使用nask.exe把汇编源文件ipl.nas生成二进制文件ipl.bin

..\z_tools\nask.exe ipl.nas ipl.bin ipl.lst

后面那个ipl.lst是列表文件,描述了汇编代码对应的机器码。一般情况下没多大作用,可以不要。

2.makeimg.bat:

..\z_tools\edimg.exe   imgin:../z_tools/fdimg0at.tek   wbinimg src:ipl.bin len:512 from:0 to:0   imgout:helloos.img

调用上级目录下z_tools文件夹中的edimg.exe,后面的是参数。把ipl.bin写到0扇区,长度512字节(这里是我猜测,不一定正确),然后输出 helloos.img

既然有了img,就可以挂到虚拟机上运行了。

3.run.bat:

光盘中这个QEMU太老了,我们下一个新版的,也不用他这样麻烦的命令。

其实只要生成了img文件,其余的就很好办。

我把qemu下载到D:\30day\projects下:

然后我们进入:D:\30day\projects\02_day\helloos4

写一个名字为runx.bat的批处理

内容:

::复制helloos.img到上级目录的上级目录下的qemu文件夹中,并改名为a.img
copy helloos.img ..\..\qemu\a.img

::切换到qemu文件夹下
cd ..\..\qemu

::运行run.bat
start run.bat

那么qemu文件夹下的run.bat是什么?是我们自己新建的一个批处理。

qemu\run.bat:

qemu-system-x86_64.exe -L . -m 32 -localtime -fda a.img

-L . :指向BIOS和VGA BIOS所在目录(一般我们使用”-L .”) 

-m 32 :内存大小为32MB

-fda a.img 使用软盘映像a.img作为磁盘映像

结果:

新版的qemu界面就是好看 O(∩_∩)O。