Fork me on GitHub

简述计算机启动过程

第一步:BIOS

前提:“只读内存”ROM发明后,开机程序刷入ROM,该程序叫做“基本输入输出系统”简称BIOS

1、计算机通电后首先读取ROM中的开机程序

​ 细节:电源刚开始供电时,电压还不稳定,主板控制芯片向CPU发出一个reset(重置)信号,让CPU初始化,稳定供电后,芯片撤去reset信号,CPU会自动的将其CS寄存器设定为0xFFFF,将其IP寄存器设定为0x0000。由于CS:IP指出了下一条指令的地址,因此CPU会跳到0xFFFF:0x0000处开始执行命令,而它只是存放一条跳转指令,跳转到BIOS可执行代码区。

2、BIOS程序首先加电自检POST,就是查看计算机关键硬件能否满足运行的基本条件

​ 细节:因为POST检测过程在显卡初始化之前,如果发现错误是无法通过屏幕显示的,所以当POST自检中发现致命错误,是通过不同含义的声音(长短和次数)警告,然后启动终止。在正常情况下,POST过程进行得非常快,几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。

3、接下来BIOS将查找其他设备的BIOS

​ 细节:首先查找显卡的BIOS,这时多数显卡会在屏幕上显示一些初始信息,如生产厂商、图形芯片类型等内容。接着查找完所有其他设备的BIOS 之后,系统BIOS 将显示出自己的启动画面,包括系统BIOS的类型、序列号和版本号等内容,同时屏幕底端左下角会出现主板信息代码,包含bios的日期、主板芯片组型号、主板的识别编码及厂商代码等。

4、最后BIOS 进行其他检测

​ 细节:首先检测cpu的类型和工作频率,并将检测结果显示在屏幕上,然后系统BIOS开始测试主机所有的内存容量,并同时在屏幕上显示内存测试的数值,接下来开始检测系统中安装的一些标准硬件设备,这些设备包括硬盘、cd-rom、软驱等设备。标准设备检测完后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统bios都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、dma通道和i/0端口等资源。

所有硬件检测配置完后,。

##第二步:

待续未完。。。