计算机系统启动
BIOS
固化到计算机主板上的程序
包括程序设置、自检程序和系统自启动程序
BIOS-MBR(主引导记录,但只能描述4个分区)、BIOS-GPT(全局唯一表述分区表,可以描述更多的分区)、PXM(网络启动标准,网络启动)
启动时计算机内存和磁盘布局
内存中不但有RAM(随机存储,断电就丢失)也有ROM(只读存储,断电不会丢失),计算机在加电的时候会初始化CS(段寄存器)和IP(指令指针寄存器)的位置,(如CS:IP=0xf000:fff0,加电的时候,内存只有20位地址可用,也就是内存的1MB空间。
系统从上述位置开始读取第一条指令,也就是BIOS启动固件,此块代码会提供基本输入输出程序、系统设置信息、开机后自检程序、系统自启程序等,来进行启动系统。
BIOS加载完成之后将加载程序从磁盘的引导扇区 (512字节,用于识别磁盘文件系统)加载到0x7c00,然后跳转到CS:IP=0000:7c00
然后将操作系统的代码和数据从硬盘加载到内存中,并跳转到操作系统的起始地址,开始执行操作系统。
BIOS的系统调用
- 字符显示
- 磁盘扇区读写
- 检测内存大小
- 键盘输入
BIOS初始化过程
- 系统自建POST
- 检测系统中内存和显卡等关键部件的存在和工作状态
- 查找并执行显卡等接口卡BIOS,进行设别初始化
- 执行系统BIOS,进行系统检测;
- 更新CMOS中的扩展系统配置数据ESCD
- 按指定启动顺序从软盘、硬盘或光驱启动。