【操作系统】——计算机启动
计算机启动
- 当计算机加电后,一般不直接执行操作系统,而是执行系统初始化软件完成基本IO初始化和引导加载功能。
- 对于Intel 80386的体系结构而言,PC机中的系统初始化软件是BIOS (Basic Input Output System,即基本输入/输出系统。
- BIOS实际上是被固化在计算机ROM(只读存储器)芯片上的一个特殊的软件,为上层软件提供最底层的、最直接的硬件控制与支持。
启动流程
-
计算机加电后,首先CPU从物理地址0xFFFFFFF0(由初始化的CS代码段寄存器、IP指令指针寄存器确定)开始执行,通过这个地址的跳转指令转到BIOS例行程序起始点。
-
BIOS进行硬件自检和初始化,选择启动设备,读取该启动设备的第一扇区(主引导扇区MBR)到内存一个特定的地址0x7c00处,然后CPU控制权会转移到那个地址继续执行。MBR主要由由主引导程序(BootLoader)、硬盘分区表(DPT)、及硬盘有效标志(55AA)组成。
-
BootLoader就是在操作系统运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统做好准备。执行过程包括两个阶段:
阶段1:
初始化硬件设备 ;
为加载Bootlodader的阶段2准备RAM空间;
拷贝Bootloader的阶段2到RAM空间;阶段2:
初始化本阶段要使用到的硬件设备;
将内核映像和根文件系统映像读到RAM ;
CPU控制权交给操作系统。