开机加载内核前的原理(硬件启动)
1.实模式是CPU的一种操作模式其特点是具有一个20位的寄存器地址空间即1MB(一个地址代表一个字节,2^20=1048576字节)的寄存器可以被寻址。
2.CPU的逻辑电路被设计为只能运行内存的程序。
3.通过计算机的逻辑电路的设计,在一加电同时将位于主板的一块ROM芯片里的BLOS程序加载到内存的0xFE000—0xFFFFF(8KB)中。
4.中断向量由CS和IP组成,每个中断向量都会通过计算CS:IP来指向一个具体的中断服务程序。
描述:
主板通电后强行将IP和CS分别设置为0xFFF0和0xF000后,这样CS:IP就指向0xFFFF0(内存)这个地址位置上,而这个位置是BLOS程序的入口,从而CPU运行在内存的BLOS程序。(如图1)BLOS程序会在内存中创建中断向量表,BLOS数据表,中断服务程序。通过一系列的BLOS程序的运行,计算机完成自我检测后,BLOS程序和计算机硬件设计会对CPU发出一个0x19的中断向量,通过计算该中断向量,使得CPU指向0x0E6F2这个中断服务程序(启动加载服务程序);然后这个中断服务程序会把指定启动盘的第一扇区的bootect程序(即把第一扇区的内容)加载到内存的指定位置后,CPU开始运行bootect程序。
第一扇区的内容载入,标志着硬件启动的结束,内核代码即将发挥作用。