linux 启动的去过程:
1.首先bios加电启动。
2.bios程序将硬盘第一个逻辑扇区(boot sector)的引导记录读入到内存中。
3.引导记录(boot recorder)中包含有磁盘的物理参数同时还有一个引导程序。bios将boot sector读入内存中后, 引导记录中的引导程序(bootstrap program)负责将setup.s读入到内存,而setup.s负责将内核读入到内存相应的位置。
4.引导程序是由汇编文件 arch/i386/boot/bootsect.S生成。它首先通过bios功能调用将同目录下的setup。s加载到内存中。然后setup。s 在boot/head。s的帮助下完成加载linux核心。
5,内核被加载完毕后,程序的CP跳转到arch/i386/kernel中的head。s开始执行head。s负责初始化所有的系统寄存器,如中断描述符表,段描述表,页表和数据段等等。
6.完成初始化后,从kernel/head.S跳转到start_kernel()函数执行。
7.start_kernel函数负责操作系统的初始化。
1>
2>
3>
4>
5>
6>