linux启动过程分析 -- 参考资料字节小结了一下

 linux启动过程简述:

第一阶段

当用户打开机器电源时,CPU将自动进入实模式,并从地址0xFFFF0开始自动执行程序代码,而这个地址通常是ROM-BIOS中的地址(也就是说CPU将自动找到BIOS中代码并开始执行)。这时候BIOS就进行开机自检,并按照BIOS中设置的启动设备(在windows中我们在重装系统时也经常会在开电源后按Del键进入到BIOS并配置启动设备的顺序,将光盘启动放到第一位,就是跟这里一个意思了)进行启动(安装好了系统后一般来说是从硬盘启动)。这时候CPU开始执行启动设备上的程序了。而启动设备上一般都安装了引导程序lilo或grub,并且它们一般都位于启动设备的第一个扇区,于是,CPU便开始执行引导程序了。也就是说引导程序就开始引导linux了。

第二阶段

引导程序引导linux后,CPU就开始执行linux的代码了。linux首先进行的是内核引导,在这期间主要完成磁盘引导,读取机器的系统数据,从实模式切换到保护模式,加载数据段寄存器,重置中断描述符表,等等。

第三阶段

引导了linux内核后,开始执行init程序,进行系统初始化工作。init程序主要是调用rc.sysinit和rc等程序来完成系统初始化和运行服务,执行完初始化后,返回init程序,进入第四阶段

第四阶段

init程序接着启动mingetty,打开中断供用户登陆,也就到了我们看到的login画面了(这里指的应该是启动到终端界面时的登陆画面)。登陆成功后就进入了shell程序了。

下面是转来的一张上述各阶段的开机启动流程图:

linux启动过程分析 -- 参考资料字节小结了一下_第1张图片

接下来详细解释一下某些阶段:

内核引导阶段

(明天再写了,累了)

你可能感兴趣的:(linux,summary)