post(加电自检,主要用来检查支持系统启动的硬件环境是否满足)---> bootseqence(根据bios中设定启动顺序,去加载相应的启动项设备)---> bootloader(根据启动项设备的mbr去加载bootloader)---> kernel(加载内核至内存中)---> rootfs(根切换)---> init(/sbin/init)
不同系统的init程序不一样:
centos5:sysV init //V表示版本号,第五版
centos6:upstart
centos7:systemd
2、systemd新特性介绍:
系统引导时实现服务并行启动
按需激活进程:意思是只有需要此进程运行时,才激活进程
支持系统状态快照
基于依赖关系定义的服务控制逻辑。
3、systemd核心概念:unit
unit由其相关的配置文件进行标识识别和配置,文件中主要包含了:系统服务、监听的socket、保存的快照以及其他的unit相关的信息,这些配置文件主要保存在/usr/lib/systemd/system,以及/etc/systemd/system/,以及/run/systemd/system/目录下。
unit常见的类型:
unit类型 | 文件扩展名 | 用途 | 备注 |
service unit | .service | 定义系统服务 | |
taget unit | .target | 用于模拟实现init的运行级别 | |
device unit | .device | 用于定义内核识别的设备 | |
mount unit | .mount | 用于定义文件系统挂载点 | |
scoket unit | .scoket | 用于标识进程间通信用到的socket文件 | |
snapshot unit | .snapshot | 用于管理系统快照 | |
swap unit | .swap | 用于标识swap设备 | |
automount unit | .automount | 文件系统自动挂载点设置 | |
path unit | .path | 用于定义文件系统中的一个文件或目录。 |
4、systemd的关键特性:
基于socket的激活机制,socket与程序分离
基于bus的激活机制
基于device的激活机制
机制path的激活机制
系统快照:保存各unit的当前状态信息于持久存储设备中
向后兼容sysV init脚本:存放在/etc/init.d/目录下的脚本
5、systemd不兼容的功能特性:(与老版本不兼容的一些的特性)
systemctl的命令时固定不变的
非由systemd启动的服务,systemctl无法与之通信,即systemctl无法控制此服务。
原文:http://blog.51cto.com/10631377/2061811