《30天自制操作系统》笔记三

第三天的主要内容是要制作一个真正的IPL。然后搭建相关的环境,为后期的C语言使用做准备。

在第一次做完以后,并没有想得比较仔细的就往后继续了,等到回过头来要写博客时才发现自己忘得差不多了,或者根本就是理解不够,又重新理顺了一遍。

 

事实上,从Makefile中可以看到整个框架:

haribote.img
|-ipl_10.bin
   |- ipl_10.nas
|-haribote.sys
   |- asmhead.bin
      |- asmhead.nas
   |- bootpack.hrb
      |- bootpack.bim
         |- bootpack.obj
           |- bootpack.nas
              |- bootpack.gas
                 |- bootpack.c
         |- naskfunc.obj
           |- naskfunc.nas

所以可以看到,无论如何我们最终是得到一个haribote.img,以供qemu运行。

然后这里分成了两支:ipl_10.bin和haribote.sys。

其中,ipl_10.bin是源于ipl_10.nas,是我们的initialprogram loader,它所做的事情是检测磁盘是否有错。

尔后,haribote.sys则是操作系统的大部分程序了。

又分为asmhead.bin以及bootpack.hrb,而这两个,从Makefile可以看出,只是简单的拼接在一起就组成了 haribote.sys。正如作者在书中所说的,asmhead.bin是前面一部分要用汇编语言来写的,有关基本设定的。而bootpack.hrb 则源于C语言。

而bootpack.c要变为机器码,实际上是经过了.c->.gas->.nas->.obj->.bim->.hrb这么一个漫长的旅程。其中还引用了一个用汇编语言写成的函数,在naskfunc.nas。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值