Linux初始化init系统之Sysvinit

背景知识介绍

Linux操作系统的启动过程首先从BIOS(Basic Input/Output System)开始启动,进而从磁盘加载MBR(Master Boot Record), 接下来进入bootloader,载入内核(Kernel), 完成内核的初始化。内核初始化的最后一步,需要产生第一个进程,负责产生其他的用户进程,这个特殊的进程就是pid为1的init进程。

init进程负责组织和运行许多独立的或相关的初始化工作,因此也被称为init系统。init系统可以定义,管理和控制init进程的各种行为,从而让计算机系统进入某种用户所需的运行模式。Linux的初始化init系统主要包括三种:Sysvinit, Upstart, Systemd。

Sysvinit

Sysvinit就是system V风格的init系统,它源于System V系列UNIX。

运行过程

init程序是Sysvinit的主要程序,一般位于Linux系统/sbin目录下。

内核启动init程序后,init程序首先读取/etc/inittab文件,分析文件内容,获得以下的配置信息:

  • 系统需要进入的运行级别(runlevel)
  • 捕获组合键的定义
  • 定义电源fail/restore脚本
  • 启动getty和虚拟控制台

获取系统运行级别之后,根据运行级别顺序的执行以下位置的启动脚本,从而将系统初始化为预设的运行级别

  • /etc/rc.d/rc.sysinit 重要的系统初始化服务
  • /etc/rc.d/rc 和 /etc/rc.d/rcX.d X为运行级别
  • /etc/rc.d/rc.local 用户个性化服务

这样,整个系统就启动起来了。

inittab文件分析

/etc/inittab文件最重要的工作就是确定系统的runlevel。这个文件中定义的格式如下:

id:runlevels:action:process

id

登记项标识符,最多为4个字符.用于惟一地标识/etc/inittab文件中的每一个登记项

runlevel

系统运行级别

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值