System V 介绍(嵌入式Linux用的就是这种init.d的启动方式,更轻量)
sysvinit
=====> 介绍博客
systemd
===> 完整介绍博客
简介
CentOS 7 使用 Systemd 替换了SysV
Ubuntu 从 15.04 开始使用 Systemd
Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置
特点
优点:
-
1.按需启动进程,减少系统资源消耗
-
2.并行启动进程,提高系统启动速度
在 SysV-init 时代,将每个服务项目编号,依次执行启动脚本。Ubuntu 的 Upstart 解决了没有直接依赖的启动之间的并行启动。而 Systemd 通过 Socket 缓存、DBus 缓存和建立临时挂载点等方法进一步解决了启动进程之间的依赖,做到了所有系统服务并发启动。对于用户自定义的服务,Systemd 允许配置其启动依赖项目,从而确保服务按必要的顺序运行。
- 3.使用 CGroup 监视和管理进程的生命周期
CGroup 提供了类似文件系统的接口,当进程创建子进程时,子进程会继承父进程的 CGroup。因此无论服务如何启动新的子进程,所有的这些相关进程都会属于同一个 CGroup
在 Systemd 之前的主流应用管理服务都是使用 进程树 来跟踪应用的继承关系的,而进程的父子关系很容易通过 两次 fork 的方法脱离。
而 Systemd 则提供通过 CGroup 跟踪进程关系,引补了这个缺漏。通过 CGroup 不仅能够实现服务之间访问隔离,限制特定应用程序对系统资源的访问配额,还能更精确地管理服务的生命周期
-
4.统一管理服务日志
-
5.支持快照和系统恢复
缺点:
过于复杂,与操作系统的其他部分强耦合,违反"keep simple, keep stupid"的Unix 哲学。
架构图: