Linux x86启动过程详解
需积分: 0 29 浏览量
更新于2024-09-30
收藏 105KB PDF 举报
"这篇文档是关于Linux i386系统的启动过程,主要涵盖了从BIOS到SysV初始化脚本的五个阶段。作者Daniel Eriksen在2004年4月为Bruce Grey Linux Users Group所做的讲解。内容涉及x86架构下的特定细节,并特别关注了启动过程中的自定义部分,即最后运行的SysV初始化脚本。"
**BIOS(基本输入输出系统)**
BIOS是计算机启动的第一步,它通过复位CPU来开始整个流程。复位后,CPU的几个寄存器被设置为固定值,然后执行在硬件映射的一个固定地址上的代码,这个地址通常对应于包含BIOS的EPROM(可擦除可编程只读存储器)。EPROM允许通过电子方式擦除和重新编程,例如,当升级或“刷新”BIOS时。
**BIOS配置**
BIOS通常提供一种方法来识别连接到系统上的不同硬件。这些设置存储在CMOS(互补金属氧化物半导体)中,CMOS使用电池来保持信息在电源断开后仍能保存。
**MBR(主引导记录)与Bootloader**
在BIOS完成硬件检测后,它会寻找磁盘上的主引导记录(MBR)。MBR位于硬盘的首个扇区,其中包含了引导加载程序,负责加载操作系统内核。
**Kernel(内核)加载**
引导加载程序加载Linux内核到内存中。i386架构的内核可能经过压缩,加载后会被解压。内核会进行自我初始化,识别硬件设备,设置中断处理程序,并接管系统控制。
**Init 进程**
内核加载完成后,第一个运行的用户空间进程是Init。在早期的Linux发行版中,这通常是System V Init,负责进一步初始化系统环境,如创建必要的挂载点,设置网络,以及启动系统服务。
**SysV Init 脚本**
System V Init脚本是启动过程中的最后一环,它们定义了系统运行级别和服务之间的关系。根据选定的运行级别,不同的服务会被启动或停止。用户可以通过修改这些脚本来定制系统启动时的行为,比如自定义开机启动的服务。
**Conclusion**
Linux i386的启动过程是一个复杂但有序的序列,从低级别的硬件初始化到高级别的系统服务管理。理解这个过程有助于系统管理员解决启动问题,优化性能,以及个性化他们的系统配置。对于x86架构,了解这些步骤尤为重要,因为许多Linux发行版都是为这个平台设计的。
2021-11-05 上传
点击了解资源详情
2024-11-18 上传
2024-11-18 上传
星空探索
- 粉丝: 131
- 资源: 16
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析