ubuntu启动流程

ubuntu8.10 启动流程:

ubuntu自从6.10开始逐步用upstart代替原来的sysinit,进行服务进程的管理。upstart保留了大部分原来的init特性。而改变的核心是Event机制。Event机制就是将所有进程的触发,停止等等都看作是event事件。在/etc/event.d中存放了目前upstart需要识别的 Event。下面就是ubuntu的启动流程。

    内核完成系统加载后就启动init进程,init进程的进程号是1,它是所有进程的父进程,所有进程由它控制,init进程的运行时间是内核完成文件系统的加载后就开始运行init程序,init程序首先会进入/etc/event.d目录,/etc/event.d中存放了目前upstart需要识别的event事件.主要包括三种:rc-default,rcX,以及ttyX.其中rc-default用于设置默认运行级别的 。rcX文件是发生在相应运行级别事件时,需要运行程序的脚本,而ttyX则是设置伪终端数目的 。一般默认的于运行级别是2,以rc2文件为例,其中有一句:exec /etc/init.d/rc 2. 这样就过渡到下一个目录:etc/init.d/了。

    /etc/init.d中存放的是服务(services)或者任务(tasks)的执行脚本。在rc2文件中执行了一个exec /etc/init.d/rc 2的命令,也就是说,给/etc/init.d/rc脚本传递了一个参数“2”,让它执行。它经过一系列的设置后,可以看到这样的几行语句:

# Now run the START scripts for this runlevel.
# Run all scripts with the same level in parallel
.......
for s in /etc/rc$runlevel.d/S*
.......

这说明首先执行/etc/rc2.d下S开头的脚本,以S开头的脚本表示将以start参数开始运行。这就过渡到下一个目录/etc/rc2.d了。
    进入/etc/rc2.d后用ls -l命令可以看到里面是一些到/etc/init.d中脚本的符号连接。这些符号连接由S和数字组成,S表示启动时运行,数字表示执行的先后顺序。


   梳理一下ubuntu的启动过程:

1.内核启动init进程。
2.init找到/etc/event.d/rc-default文件,确定默认的 运行级别(假设为X)。
3.触发相应的runlevel事件,开始运行/etc/event.d/rcX。
4.rcX运行/etc/init.d/rc,传入参数X。
5./etc/init.d/rc脚本进行一系列设置,最后运行相应的/etc/rcX.d中的脚本。
6./etc/rcX.d中的脚本安事先设定的优先级依次启动,直至最后给出登录画面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值