Linux操作系统启动过程



Intel 80x86系列的CPU可以分别在实时模式和保护模式下运行,最开始启动运行在16位实时模式。

通过硬件逻辑设计上电瞬间使CS的值置为0xFFFFIP置为0x0000,使得CSIP指向0xFFFF0位置即BIOS代码区。

BIOS完成自检工作,并在内存中建立中断向量表和中断服务程序。CPU会接收一个 int 0x19中断,通过中断向量表找到中断服务程序的入口地址,执行中断服务程序。

该中断服务程序读取硬盘的主引导扇区(MBR512字节),然后执行MBR里的代码。

OS开始由MBR控制从硬盘启动。

ROM BIOS->bootsect.s->setup.s->head.s->main.c

下图中的BootLoader里安装引导程序如lilogrub等。



Linux操作系统启动过程