当计算机电源打开,会给cpu的reset引脚送出一个电信号,X86 Cpu 就会将CS的值置为0xFFFF,IP的值置为0x0000,从而执行0xFFFFFFF0处的代码,而这个地址正映射对应着rom中bios的内容。

 

BIOS主要是开启硬件并设置好操作系统的启动环境。它主要包括三个部分:POST(系统自检),安装和启动。

 

POST的主要功能是测试并安装bIOS检测到的硬件组件,作为POST的一部分,硬件设备会注册对应的中断值。为了方便起见,INTEL平台所有的硬件设备会对应13H中断,这使得程序员激活这个软件中断去和bios里的磁盘等硬件设备代码联系。

 

当POST完成后,bios会提供给使用者进入SETUP模式的机会,在这里用户可以改变bios的设置,包括启动顺序的设置。

 

bios的最后一个操作时进入19H中断,它将会载入第一个启动设备的第一个扇区。这里存放的事引导程序,执行19H中断会将控制权交给启动程序。硬盘和其他设备诸如CD-Rom等都可以作为启动设备出现在列表中。

 

当bios把启动设备的第一个扇区载入ram,引导程序开始运行。在硬盘设备中,第一个扇区被称为MBR,MBR中除了包括引导程序,还包括磁盘的分区表信息。MBR的大小被严格控制在一个扇区的512字节。而且是第一个分区的0柱头,0磁道,1扇区。这个大小的规模极大限制了他的功能。典型的引导程序已经被高度集成在操场系统中, 这使得引导程序更加灵活,可以分级分步来执行。