0.11LINUX读核日记(1)

0.11LINUX读核日记(1)

  之所以要读LINUX内核是因为自己想完全弄懂计算机从加载电源到正常运行程序的过程。而选定0.11版本是因为手头上有一本赵炯博士写的《LINUX完全注释》。呵呵,闲话少说,还是转到读码中。。。。  

    计算机在加电后,BIOS启动一个程序进行主机自检,自检结束后,自检程序将控制权还给BIOS,BIOS读取BIOS设置,得到引导驱动器的的顺序,然后依次检查,得到可以用来引导的驱动器(往往指得是硬盘),BIOS将所检查的磁盘的第一扇区(512B)放入内存,放在0X0000:0X7C00处。如果发现这个扇区的511,512位是0X55AA,就确定这是一个引导扇区。在LINUX0.11中,BOOTSECT。S就是写在第一扇区内,并且最后的511,512位是0X55AA,所以确定它是引导程序。

  BOOTSECT。S程序装入内存0X0000:0X7C00处后,执行这段汇编程序。下面我画出这段程序的流程图

[BOOTSECT。S先把自身移到了0X9000处]------》[然后调用BIOS0X13中断来读区SETUP。S程序,把SETUP。S放在0X9200处]-----》[得到磁盘驱动器的参数]-----》[然后输出SYSTEM LOADING信息]-----》[加载SYSTEM模块到0X1000处]-----》[关闭磁盘驱动器]-----》[检查引导驱动器类型]-----》[执行SETUP程序]

参考书籍《LINUX完全注释》,《操作系统引导探究》,《LINUX0.11源码分析》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值