「生活可以更简单, 欢迎来到我的开源世界」
  1. 流程简介
  2. 相关知识
  3. 参考
Linux启动流程
2021-05-30

Linux启动流程

流程简介

操作系统启动过程分四阶段:

  1. BIOS启动。CPU通电后PC计数器初始化为一个特定的内存地址,指向ROM中BIOS的起始地址,由BIOS执行硬件的基本初始化,最先找到的设备的最开始的几个扇区将被加载到内存,BIOS执行其中的初始化代码并将系统控制权转交引导加载程序。
  2. 引导加载程序。由BIOS启动,负责将系统内核映像和initrd映像加载到内存并转交控制权。
  3. initrd 或 initramfs 系统。在内存中运行系统内核和根文件系统,init 程序是内存中的根文件系统上执行的第一个程序,这个程序在用户空间把内核初始化,并把控制权交给下一阶段。
  4. 实际系统。根文件系统将由内存切换到实际的硬盘文件系统上,init 程序是系统执行的第一个程序(PID=1),它启动其它各种程序以完成主引导流程。

相关知识

initrd 映像是根文件系统映像:

initramfs是initrd的替代品:

PC上运行的Linux系统,它启动后从BIOS开始,进入bootloader,有bootloader加载内核,进入内核初始化。内核启动的最后一步就是创建一个pid为1的init进程。这是系统的第一个进程,它负责生产其他所有用户进程。

init程序流派:

参考

<⇧>