linux启动学习

linux进入保护模式后,就不再使用bios。而使用自己的设备驱动。bios使用实模式地址。

 

bios执行以下操作:

从0xfffffff0处开始执行,测试硬件

初始化硬件

搜索操作系统

copy第一个扇区到ram的0x00007c00,跳转到这里运行

 

 

lilo执行的过程:

调用bios,显示loading

调用bios,从磁盘装入内核映像的初始部分(内核映像的第一个512字节--》0x00090000, setup()--->0x00090200)

调用bios,从磁盘装入其余映像,并把它放到0x00010000(make zImage) 或者0x00100000(make bzImage)

调用setup

 

setup简单初始化硬件

建立临时中断描述符表idt,临时全局描述符表gdt

切换cpu到保护模式
跳转到start_up32()

 

初始化数据区

解压image

跳转到另一个start_up32

 

建立process0的环境

跳到start_kernel

 

执行调度,内存管理, 伙伴系统,异常,软中断,时间日期, slab

创建process1

 

该线程执行init程序

 

 

 

 

你可能感兴趣的:(linux启动学习)