Linux启动过程解析:从BIOS到Init守护进程
需积分: 9 127 浏览量
更新于2024-08-25
收藏 235KB PPT 举报
本文主要介绍了Linux系统的启动过程,特别是启动守护进程时rc脚本的作用,以及BIOS、GRUB、Kernel Boot、Init等关键步骤。
在Linux系统启动时,整个流程从最基本的硬件层面开始,首先是BIOS(Basic Input/Output System)进行加电自检(POST),检查和初始化硬件设备,然后寻找驱动器和启动扇区,加载MBR(Main Boot Record)到内存。MBR是磁盘的第一个扇区,包含分区表和一个小的引导加载程序。通常,MBR中的引导加载程序如GRUB(Grand Unified Bootloader)会接手后续的引导工作。
GRUB是一个两阶段的引导加载程序,其stage1通常被安装在MBR中,负责加载并执行stage2,后者会显示引导菜单,允许用户选择要启动的操作系统或内核。GRUB的配置文件`menu.lst`定义了启动选项。如果需要支持文件系统,可能还会有一个stage1.5。
当内核被GRUB加载后,进入内核的引导阶段。在古老的启动时代,引导扇区的汇编代码(如 `_start()`)首先被执行,然后是中间时代的`setup()`,它初始化硬件环境,设置保护模式。再往后,进入文艺复兴时期,`startup_32()`函数解压缩内核映像(bzImage),准备进入内核运行。
内核启动完成后,Linux开始初始化其核心服务。Init程序是系统启动的关键部分,它根据`/etc/inittab`配置文件来决定运行级别,比如在多用户模式下通常是运行级别3。在这个阶段,`/etc/rc.d/rc3.d`目录下的脚本会被执行,这些脚本是启动或停止服务的符号链接,S开头的脚本表示启动,K表示停止,数字代表执行顺序。
Init会启动`agetty`来创建终端会话,接着执行`/etc/init.d/boot`和`/etc/init.d/rc`脚本,这些脚本管理着系统服务的启动。一旦这些服务启动完毕,系统会调用`/bin/login`,用户可以输入用户名和密码登录,然后获得一个shell环境,至此,Linux系统完全启动完成,用户可以开始正常使用。
总结起来,Linux启动过程涉及多个层次,从硬件自检到内核加载,再到系统服务的启动,每一个步骤都至关重要。rc脚本在这一过程中起到了连接内核与用户空间服务的关键作用,确保系统按预期顺序启动各项服务。理解这一过程对于系统管理员来说是非常基础且重要的知识。
2012-06-14 上传
2008-12-29 上传
2021-09-06 上传
点击了解资源详情
2020-09-15 上传
2019-05-27 上传
2020-12-25 上传
2013-04-28 上传
2020-09-15 上传
巴黎巨星岬太郎
- 粉丝: 17
- 资源: 2万+
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍