linux第一个用户进程init--systemd
来源:互联网 发布:如何关闭淘宝推送广告 编辑:程序博客网 时间:2024/05/22 03:48
本文是对文章《浅析 Linux 初始化 init 系统,第 3 部分: Systemd》的总结以及网上对systemd的评论,做为学习systemd的第一步,只介绍systemd实现的原理及使用的技术。
systemd的目标:
1,启动更少的程序,程序在使用的时候再启动(很像内核的写时拷贝)
2,在必须启动的程序中,做到最大的并行化
从实现目标来看upstart与systemd是一样的,所以都认为这两个是最大的竞争对手,不过从发展趋势来看,systemd可能会最终胜出(rhel7.0中已经用systemd替换了upstart)。
systemd并发启动原理:
1,提前启动服务需要的socket,这一点类似于inetd的实现
2,通过d-bus技术来解决依赖服务的自动启动
3,通过内核 automounter 模块实现了autofs的功能,这一点可以保证依赖文件系统的服务和文件系统的挂载可以同时进行。
systemd其他特点:
1,使用cgroup技术实现对服务的管理,简单可靠。
2,内部实现了journal替代了syslogd记录日志,安全,简单,日志格式统一。
3,这个项目还在进行中,还有很多其他的功能被加进来
systemd相关命令的使用可以参考http://linoxide.com/linux-command/linux-systemd-commands/
systemd的设计理念很好,但是此项目却是争议比较大的一个项目,其根本原因就是systemd实现了太多的功能,已经不仅仅是一个init了,systemd不仅实现了前面提到的autofs/syslogd的功能,最新版本中也把udev/cron等功能加了进来。如下图(Systemd这个有争议的项目正在接管你身边的Linux发行版)
另外一个很多linux、unix用户都认为systemd违反了unix哲学:做一件事,并且把它做好。
最后分享一个在网上看到的sysvinit与systemd的对比图,忘了从哪个网站保存下来的了,如果有侵权请及时告知,谢谢。
- linux第一个用户进程init--systemd
- linux第一个用户进程init--sysvinit
- linux第一个用户进程init--upstart
- android第一个用户进程Init进程
- 第一个init进程
- Linux的第一个进程:init(1)
- linux初始化init系统:systemd
- 用户空间第一个程序Init
- CentOS 7中Systemd取代init进程
- 第1个用户进程init和init.rc脚本
- pmap 分析 嵌入式linux第一个进程 init 的内存占用
- Linux系统init过程之 Systemd
- Linux 初始化 init 系统3---Systemd
- 浅析 Linux 初始化 init 系统,Systemd
- Linux 初始化 init 系统(Systemd)
- 【Linux init】systemd 服务单元管理
- [置顶]【Linux init】systemd 服务单元管理
- 浅析 Linux 初始化 init 系统 systemd
- Android 将程序崩溃信息保存到本地
- GC的三种方式,读RUBY之父写的《编程语言的过去、现在和未来》笔记
- 回溯法解决素数环问题
- (30 hackdays day 24) Atatus - what happened before crash
- NSDate 最大最小时间配置
- linux第一个用户进程init--systemd
- (30 hackdays day 25) Tuling123 - 光棍节找个机器人聊天吧
- 关于memset函数
- 在Ubuntu14.04LTS下配置Android环境
- (30 hackdays day 26) Mailgun - 发Mail是个技术活儿
- 一个拼图游戏bug清除的历程
- windows下使用MinGW+msys编译ffmpeg
- 启动Scrapy
- (30 hackdays day 4) PubNub – Connect everything in REALTIME way