按下电源键到登录界面出现,中间那几秒黑屏里藏着计算机最复杂的初始化流程。作者用"太空殖民"的比喻带你看懂Linux内核启动全过程——从荒地到宜居星球,每一步都不能乱。
先泼冷水:作者不是内核专家,这是学习笔记。目标不是穷尽细节,而是画一张"地图":关键模块是什么、怎么串起来的。想深入?源码才是老师。另外本文聚焦x86_64,ARM、RISC-V等架构细节会有差异。
打开网易新闻 查看精彩图片
太空殖民比喻:荒地变家园的六步走
打开网易新闻 查看精彩图片
想象一颗荒芜星球。空投舱(bootloader)送来先遣队(内核启动代码),他们要在生命维持耗尽前完成殖民:
第一步,确认着陆器没坠毁,建立应急机制——对应内核的硬件自检和异常处理初始化。第二步,测绘地形、标记资源、划定存储区——这是内存检测和分区。第三步,运来工程设备,搭建第一批栖息地、电网、通讯塔——建立内核基础服务:调度器、内存管理、驱动框架。第四步,成立殖民政府:总督、接待处、维修队——创建init进程、用户空间接口、后台守护进程。第五步,唤醒冷冻舱里的其他殖民者——启动用户态程序。最后,先遣队把自己变成维修队,把钥匙交给民选政府。
bootloader交接时,手里有什么?
打开网易新闻 查看精彩图片
GRUB把控制权交给内核时,家底其实很薄。CPU已在运行,但模式不确定:16位实模式、32位保护模式、64位长模式都有可能。UEFI直接进长模式,传统BIOS通常留在保护模式。内核的第一件事就是确认自己站在哪块地基上,然后一步步把环境搭起来。
这个系列后续还会讲进程管理、内存管理、硬件交互。如果你也好奇"盖子下面"发生了什么,这是张不错的入门地图。
热门跟贴