计算机启动过程

计算机是如何进行启动的?它的内部是如何运作的?

计算机启动过程分为四个阶段:上电、BIOS自检、系统引导、操作系统初始化。

计算机启动过程_第1张图片

 

一、上电:按下电源键就是上电,上电后,CPU的RESET引脚会产生一个逻辑值来唤醒CPU,CPU唤醒后,执行跳转指令,跳转到执行BIOS

二、BIOS自检:BIOS首先进行硬件自检,检测系统外围关键设备比如CPU, 内存, 显卡, I/O, 键盘鼠标等是否正常, 如果自检无法通过则系统无法启动。检测通过后会显示出这些设备的信息。硬件自检后,BIOS需要知道"下一阶段的启动程序"是谁, 所以需要从Boot的启动序列中顺序检查该设备是否有可以启动,可以启动的标志就是该设备第一个分区最前面的512字节(即主引导记录MBR)的最后两个字节是不是0x55和0xaa。(简单来讲就是:硬件设备中有一个存储BootLoader程序的设备,但不知道是哪个,但它有一个标志。可以通过在Boot序列检查设备的标志,来查找该程序。)

三、、系统引导:BIOS将MBR(主引导记录)这部分引导代码复制到0x7c00地址所在的物理内存中, 就退出了。被复制的这部分代码就是BootLoader,BootLoader是系统用来启动操作系统的代码。

四、操作系统初始化:此时操作系统被唤醒,系统的控制权交由了操作系统,操作系统的内核被载入内存,操作系统进行各个模块的初始化工作。

[BIOS]  一组固化在计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后的自检程序和系统自启动程序

[BootLoader]  一段程序代码,在操作系统内核运行之前运行,可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。

你可能感兴趣的:(操作系统,windows)