Ubuntu系统启动过程:从init到upstart的转变
184 浏览量
更新于2024-08-30
收藏 157KB PDF 举报
本文由杨硕,华清远见嵌入式学院讲师撰写,详细介绍了嵌入式系统/ARM技术中的Ubuntu系统启动过程,对比了Ubuntu与传统RedHat启动的区别,并阐述了Ubuntu采用upstart作为初始化系统的原因。
在传统的Linux系统如RedHat中,启动流程主要依赖于`/etc/inittab`文件,这是一个控制系统的运行级别和服务启动顺序的关键配置文件。然而,在Ubuntu系统中,由于`init`方法的串行执行方式导致启动时间较长,自Ubuntu 6.10版开始,系统开始采用`upstart`来替代`init`,以提高启动效率。
`upstart`的核心是Event机制,它将进程的启动和停止视为事件(Event)。在Ubuntu的`/etc`目录下,`event.d`子目录是`upstart`的中心,这里包含了用于控制和服务管理的各种事件配置文件。这些文件主要包括两类:`rc-default`和以`rcX`(X=0,1,2,3,4,5,6,S)以及`ttyX`(X=0,1,2,3,4,5,6,S)命名的文件。
`rc-default`文件类似于传统的`inittab`,用于定义系统默认的运行级别。通过查看`rc-default`,可以了解系统在不同运行级别下启动的服务。例如,`#rc-runlevelcompatibility`注释表明这是为了保持与旧的`init`系统兼容性。
`rcX`文件则对应于不同的运行级别,如`rc0`代表多用户无图形界面模式,`rc1`同`rc0`,`rc2`至`rc5`通常对应不同的图形界面运行级别,`rc6`是关机或重启级别,而`S`通常用于单用户模式。这些文件定义了在进入相应运行级别时应启动的服务。
`ttyX`文件则与终端设备关联,它们定义了当登录到特定TTY(Teletype)终端时,系统应该如何启动或关闭服务。
通过`upstart`,Ubuntu能够并行处理启动任务,从而加快了系统启动速度。此外,`upstart`还提供了更灵活的事件驱动模型,允许系统根据特定事件(如网络连接建立、硬件初始化完成等)来启动或停止服务,提高了系统的响应性和可扩展性。
Ubuntu的启动流程与RedHat相比,更加现代化和高效。它通过`upstart`的事件驱动机制,实现了服务的异步启动,优化了嵌入式系统资源有限情况下的启动性能,这对于ARM架构的嵌入式设备尤其重要,因为这些设备往往需要快速启动和高效的资源管理。
2022-04-01 上传
2020-11-07 上传
2010-05-23 上传
176 浏览量
2011-11-02 上传
2011-01-20 上传
2019-07-30 上传
weixin_38706045
- 粉丝: 4
- 资源: 950
最新资源
- 【网页设计期末/课程设计】剪纸网(JavaScript/jQuery)
- 行业分类-设备装置-承重墙以及使用了它的钢结构房.zip
- Python库 | area_under_curve-0.9.7-py3-none-any.whl
- hashtab2_C语言_哈希表删除、添加、寻找_codeblocks_
- merlin:(NeurIPS 2020)继续学习的元合并
- frontend-project:我们在公司中使用的某种东西可以作为任何前端项目的模板。 是的,我们了解约曼,并计划搬迁;)
- R_shinyapps:闪亮的应用
- 适用于 Android 设备的简单而强大的文件浏览器.rar
- 视频批量删除片头片尾软件(无需重新编码速度超快无损转换)视频片头片尾去除神器.rar
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- Tripolex (Tripwire Policy Extractor)-开源
- 行业文档-设计装置-英语教学设备.zip
- weheartgenerator:weheart.github.io头像的头像生成器。 一两个小时内完成编码,因此对乱码表示歉意
- fire-master.zip
- MyShow1_复合材料建模_随机区域_matalb_随机圆形_compositemodel_
- [重庆]现代风格高层洋房豪宅建筑方案设计