bootsect

  

图形接口卡以及BIOS
 
setup
 
0x7c00bootsect被搬运
 
一部分保留BIOS用,另一方面linux内核的引导需要一些运行空间
 
内核映象
 
0x0
0x90000
0x92000
0x10000
0xa0000
0x100000

                               系统引导过程
 
BIOS“引导”一个系统时,总是把引导扇区读入到基本内存中地址为0x7c00的地方。然后就跳转到0x7c00开始执行引导扇区的代码。
       Cpu在跳转到bootsect时尚处于16位实地址模式,然后在setup的执行过程中转入32位保护模式的段式寻址方式。在bootsectsetup的执行中,二者都利用bios提供的调用来完成一些比较大的操作,入读磁盘,取得BIOS在加电自检时搜集到的有关内存的信息等等。一旦转入内核映象本身的执行,就与BIOS分道扬镳,不再使用BIOS调用了。
辅助程序setup为内核映象的执行作好了准备(包括解除压缩)以后,就跳转到ox10000开始内核本身的执行,此后就时内核的初始化,例如页式映射的建立;第二阶段主要式系统中的一些基础设施的初始化,例如内存管理核进程管理的建立核初始化;最后则是“上层建筑”的初始化,如跟设备的安装和外部设备的初始化等等。
Bootsect代码执行期间,它会将自己移动到内存绝对地址0x90000开始处继续执行。该程序的主要作用是首先把从磁盘第2个扇区开始的4隔山去的setup模块加载到内存紧接着bootsect后面位置处,然后利用bios中断0x13取磁盘参数表中当前驱动引导盘的参数,接着在屏幕上显示“Load system……”字符串。再者把磁盘上setup模块后面的sysytem模块加载到内存0x10000开始的地方。随后确定根文件系统的设备号,若没有制定,则根据所保存的引导盘的每磁道扇区数判断出盘的类型和种类并保存其设备号于root_dev(引导块的508地址处),最后长跳转到setup程序的开始处(0x90200)执行setup程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值