linux下的初始化系统systemd简科普
systemd是什么?名字很奇怪,不认识。
扒一扒wiki,你就会知道我是谁了? 在下有眼不识泰山,原来你就是盘古老爷爷用的开天辟地大斧头啊。
贫穷不可怕,可怕的是贫穷限制了你的想象---------------佚名。
systemd是Linux电脑操作系统之下的一套中央化系统及设置管理程序(init),包括有守护进程、程序库跟应用软件,
由Lennart Poettering带头开发。其开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化
时服务的并行启动,同时达到降低Shell的系统开销的效果,最终代替现在常用的System V与BSD风格init程序。
目前绝大多数的Linux发行版都已采用systemd代替原来的System V。
systemd的特点:
一 同 SysVinit 和 LSB init scripts 兼容。
Systemd 是一个"新来的",Linux 上的很多应用程序并没有来得及为它做相应的改变。和 UpStart 一样,systemd 引入
了新的配置方式,对应用程序的开发也有一些新的要求。如果 systemd 想替代目前正在运行的初始化系统,就必须和现有
程序兼容。任何一个 Linux 发行版都很难为了采用 systemd 而在短时间内将所有的服务代码都修改一遍。
Systemd 提供了和 Sysvinit 以及 LSB initscripts 兼容的特性。系统中已经存在的服务和进程无需修改。这降低了系统
向 systemd 迁移的成本,使得 systemd 替换现有初始化系统成为可能。
二 更快的启动速度。
Systemd 提供了比 UpStart 更激进的并行启动能力,采用了 socket / D-Bus activation 等技术启动服务。一个显而易见
的结果就是:更快的启动速度。
为了减少系统启动时间,systemd 的目标是:
- 尽可能启动更少的进程
- 尽可能将更多进程并行启动
同样地,UpStart 也试图实现这两个目标。UpStart 采用事件驱动机制,服务可以暂不启动,当需要的时候才通过事件触发
其启动,这符合第一个设计目标;此外,不相干的服务可以并行启动,这也实现了第二个目标。
三 systemd提供了按需启动的能力。
当 sysvinit 系统初始化的时候,它会将所有可能用到的后台服务进程全部启动运行。并且系统必须等待所有的服务都
启动就绪之后,才允许用户登录。这种做法有两个缺点:首先是启动时间过长;其次是系统资源浪费。
某些服务很可能在很长一段时间内,甚至整个服务器运行期间都没有被使用过。比如 CUPS,打印服务在多数服务器上很少
被真正使用到。您可能没有想到,在很多服务器上 SSHD 也是很少被真正访问到的。花费在启动这些服务上的时间是不必要
的;同样,花费在这些服务上的系统资源也是一种浪费。
Systemd 可以提供按需启动的能力,只有在某个服务被真正请求的时候才启动它。当该服务结束,systemd 可以关闭它,
等待下次需要时再次启动它。
还有其它比较明显的优点,比如,更先进的日志管理,更全面的快照恢复等。总体来说,systemd是代表先进的启动方式
来革新linux启动的。
参考文档:
1 https://zh.wikipedia.org/wiki/Systemd
2 https://www.ibm.com/developerworks/cn/linux/1407_liuming_init3/index.html
相关文章
- [Android Pro] 完美解决 No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
- linux驱动开发--导出内核符号
- Linux USB 摄像头驱动
- linux连接sybase数据库-isql
- Linux 系统与数据库安全
- 【学习总结】快速上手Linux玩转典型应用-第2章-linux简介
- 项目部署、配置、查错常用到的Linux命令
- linux系统挂载NTFS移动硬盘
- Linux对运行服务操作命令
- 【ubuntu】linux常用的系统调用函数
- 【Linux 内核 内存管理】mmap 系统调用源码分析 ② ( sys_mmap_pgoff 系统调用函数执行流程 | sys_mmap_pgoff 函数源码 )
- 【Linux 内核】Linux 内核特性 ( 组织形式 | 进程调度 | 内核线程 | 多平台虚拟内存管理 | 虚拟文件系统 | 内核模块机制 | 定制系统调用 | 网络模块架构 )
- Linux批量杀死进程
- 【Linux】linux经常使用基本命令
- L55.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- mkswap和swapon
- Linux系统磁盘在线扩容方案
- conda安装r Linux系统中 linux中安装r
- kali linux 安装 google chrome
- linux系统安装mysql数据库
- Linux【实操篇】—— 用户管理、linux系统root密码找回方式
- 【Deepin 20系统】Linux系统开机显示Failed to start Rotate log files
- Linux:Libreswan: can‘t offload to because SIOCETHTOOL ETHTOOL_GSSET_INFO failed. Errno 95
- 【黑马程序员新版Linux学习笔记】Linux 小技巧快捷键
- s5.CentOS、Ubuntu、Rocky Linux系统初始化脚本
- Linux基础笔记3 | 系统基础知识与操作
- Linux云计算-03_必备基础命令
- Linux常用命令——系统痕迹命令
- Linux基础入门到精通之虚拟机中安装Linux系统(二)