正常情况Linux 启动流程:
① BIOS 启动,完成自检,选择启动硬件
②如果是磁盘系统读取 MBR
③从 MBR 指示,找到 GRUB 所在分区,加载 GRUB 显示菜单
④加载 Linux 内核到内存中
⑤执行 INIT 程序
⑥进入用户界面
1、内核启动特殊例程
进程ID(PID)为1的进程,被称为init进程或init系统,它是系统的第一个进程,由内核在系统引导后创建。主要职责包括:
系统初始化、进程管理、运行级别切换、孤儿进程处理。
2、启动例程
- 在进程的main函数执行之前内核启动
- 该例程放置在/lib/libc.so.***中
- 编译器在编译时会将启动例程编译进可执行文件中
3、启动例程作用
- 搜集命令行的参数传递给main函数中的argc和argv
- 搜集环境信息构建环境表并传递给main函数
- 登记进程的终止函数