不久前,我曾撰文介绍了《内核的解压缩》,结果那篇文章收到了大量的评论和留言,这有点出乎意料。我估计可能是因为那篇文章跟火爆七十年代末的《Lions’ Commentary on UNIX 6th Edition, with Source Code》同样的原因吧。操作系统开发人员喜欢阅读深度扩展的代码注释,而那篇文章就是这种类型。

    我所说的“ARM32”的正式名称为Aarch32,在ARM架构中,从ARMv4到ARMv7这几个版本实现了该架构。

    本文我将讨论在经过解压缩和引导、加载到物理内存后,内核如何自我引导,直到在虚拟内存中执行由C语言编写的通用内核代码的过程。