今天读杨文博的《开源软件—自己动手写操作系统》,我对计算机启动过程有了一个充分的了解。下面是原文的部分摘抄。与百度百科的计算机启动过程相似。

 

1. 加电.主板的控制芯片完成与CPU的通话,将控制权最终转交给系统BIOS。

2.自检。(以前内存坏了,经常会听见蜂鸣声)。此时系统BIOS的加电自检程序完成对各个硬件的测试。

3.初始化设备。系统BIOS加电自检后,会首先完成显卡设置,存放显卡BIOS的ROM芯片的起始地址在0xc0000处,由显卡的BIOS来初始化显卡。

4.测试设备。查找完所有其他设备的BIOS后,系统BIOS 显示其自身的信息,系统BIOS将开始测试CPU,RAM,其他硬件设备。

5.更新ESCD(Extended System Configuration Data) ESCD是系统用来与操作系统交换硬件配置信息的一种手段,这些数据存放在CMOS中。 

6.启动操作系统。系统BIOS的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘、光驱启动操作系统。 (MBR,分区概念)

 

Note:百度百科的计算机启动过程 介绍更加详细。 

 

下面,来讲讲BIOS的事情,下文是我摘抄的BIOS介绍(原文地址位于前面的BIOS超链接)

 

BIOS是软件,CMOS是硬件,简单说CMOS是BIOS的载体 

BIOS,完整地说应该是ROM-BIOS,是只读存储器基本输入/输出系统的缩写,它实际上是被固化到微机主板ROM芯片上的一组程序,主要保存着有关微机系统最重要的基本输入输出程序,系统信息设置、开机上电自检程序和系统启动程序等;为计算机提供最低级的、最直接的硬件控制。准确地说,BIOS是硬件与软件程序之间的一个“转换器”或者说是接口(虽然它本身也只是一个程序),负责解决硬件的即时需求,并按软件对硬件的操作要求具体执行。 BIOS ROM 芯片不但可以在主板上看到,而且BIOS管理功能如何在很大程度上决定了主板性能是否优越。 

 

 

 

 最后,感谢杨文博,百度百科,和木林森晶品鑫的解释。