Linux 启动流程 -- 按下电源后发生的那些事儿
2019-12-30 本文已影响0人
扫帚的影子
写在前面
- 从按下电源到Linux完全启动,发生的事情有太多太多,细节也太多太多,这里我们不会那么深入细节,但力求理清整体的脉络;
- 这里暂时只会介绍到
体系结构无关部分的初始化
和体系结构相关部分的初始化
,这两部分具体细节我们会在以后的学习中继续分析; - 这里的分析基于 Linux 5.4.2 x86_64;
- 如果你希望看到很详细的源码解析,那可能会让你失望了,这里还是以流程为主,能给你的可能只是下面这张图而已;
启动流程图

要点说明
模式转换
- 我们这里以x86_64体系结构为例来分析,从按下电源后经过了
16 位实模式 ----> 32位下的保护模式 ----> 64位下的长模式
才将算最终完成启动; - 模式指的是CPU的工作模式:实模式,保护模式,长模式,概念我们很容易在网上查到,这里不再赘述;在上图中这几种模式扫从上到下用向右的长箭头作了分隔并用浅蓝色字体作了标注;
- 伴随着模式转换,执行控制权也有发生转换,从 BIOS 到 引导程序 再到 Linux Kernel;在上图中用亮杏黄色作了标注;