首页 > 代码库 > 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。