青蛙学Linux—系统初始化init及运行级
Posted 青蛙学Linux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了青蛙学Linux—系统初始化init及运行级相关的知识,希望对你有一定的参考价值。
1、什么是init和运行级
1.1、init
Linux系统的启动首先从Bios开始,接下来Linux的引导程序将内核映像加载到内存,进行内核初始化。在内核初始化的最后一步,就是启动PID为1的init进程,这个进程是系统的第一个进程,负责启动那些开机时需要启动的服务。
大多数的Linux发行版的init系统都是和System V兼容的,所以也被称为sysinit,这是最早也是最流行的init系统。sysinit概念简单清晰,主要依赖于shell脚本。它一次一个串行启动进程,导致了它的致命缺点,启动太慢。当Linux被应用到移动设备上时,这个缺点就成了大问题。
当前已经在使用upstart和systemd来替代sysinit。ubuntu采用upstart;从CentOS 7开始,已经使用systemd代替了sysinit。所以这里所说的init机制及运行级的概念只适用于CentOS 6以及之前的版本。
1.2、运行级
init可以根据使用者定义的执行等级(runlevel)来唤醒不同的服务,进入不同的操作模式,这些执行等级就称为运行级。Linux提供了以下7种运行级:
- init0:关机模式
- init1:单用户援救模式
- init2:字符界面多用户模式,无网络支持
- init3:字符界面多用户模式,运行一个完整的系统
- init4:保留未使用
- init5:图形界面模式
- init6:重启模式
以上是关于青蛙学Linux—系统初始化init及运行级的主要内容,如果未能解决你的问题,请参考以下文章