systemd是为改进传统系统启动方式而退出的Linux系统管理工具,现已成为大多数Linux发行版的标准配置

systemd与系统初始化

Linux系统启动过程中,当内核启动并完成装载跟文件系统后,就开始用户空间的系统初始化工作。Linux由三种系统初始化方式:

来源于UNIX的system V initialization

UpStart方式(SysV)

systemd方式

sysVinit初始化方式

传统的SysVinit是基于运行级别的系统。运行级别就是操作系统当前正在运行的功能级别,用来设定不同环境下所运行的程序和服务

SysVinit初始化原理简单,易于理解,可以依靠shell叫不能控制服务启动,服务脚本编写比较容易

SysV启动是线性,顺序的,启动过程比较慢。

Upstart初始化方式

Upstart是基事件机制的启动系统,它使用事件来启动和关闭系统服务。

系统服务的启动,停止等均是有事件触发的,他同时又能作为事件源触发其他服务。事件可以由内部产生,也可以由用户提供。运行级别的改变也可以被看作是事件。Upstart更加灵活,不仅能够在运行级别改变的时候启动或停止服务,也能在接收到系统发生其他改变的信息时启动或者停止服务

Upstart 使用/etc/init/目录中的系统服务配置文件决定系统服务何时启动,何时停止。

系统的所有服务和任务都是由事件驱动的。Upstart是并存的,Upstart主要解决服务的即插即用。针对服务顺序启动慢的问题。Upstart将相关的服务分组,让组内的服务顺序启动,组与组之间服务并行启动

systemd初始化方式

前两种系统初始化方式都需要由init进程来启动其他用户级别进程或服务,最终shi完成系统启动的全部过程。init始终是第一进程,其PID始终是1,他是系统所有进程额父进程。systemd初始化使用systemd取代init,作为系统的第一个进程。systemd不通过init脚本来启动服务,而是采用一种并行启动服务的机制。

systemd采用单元文件替换之前的初始化脚本呢。Linux以前的服务管理是分布式的。由SysV或Upstart通过/etc/rc.d/init.d/目录下的脚本进行管理。允许管理员控制服务的状态。采用Systemd,这些脚本就被单元文件所替代。单元有多种类型不限于服务,还包括挂载点,文件路径等。systemd的但源文件主要被放在/usr/lib/systemd/system和/etc/systemd/system/目录中。

systemd使用启动目标(Target)替代运行级别。前两种系统初始化方式使用运行级别代表特定的操作模式,每个级别可以启动特定的一些服务。启动目标类似于运行级别,又比运行级别更为灵活,它本身是一个目标类单元,可以更为灵活的为特定的启动目标组织要启动的单元,如启动服务,装载挂载点等。

systemd式Linux系统中最新的系统初始化方式,主要设计目标是刻骨SysVinit固有的缺点,尽可能的快速启动服务,减少系统资源的占用,为此实现了并改姓启动的模式,并行启动的最大的难点就在于解决服务之间的依赖性,systemd使用类似缓冲池的办法加以解决。

与Upstart相比,systemd更进一步提高了并行启动的能力,极大的缩短了系统启动的时间,Upstart采用时间驱动机制,服务可以暂不启动,但是有依赖关系的服务还是必须先启动的,这还是一种串行执行。systemd能够进一步提高并发性,即便对那些Upstart认为存在相互依赖而必须运行的服务。也可以并发启动

systemd与SysVinit兼容,支持并行化任务。按需启动守护进程,基于是事务依赖性关系精密控制各种服务,非常有助于标准化的Linux的管理。systemd提供超时机制,所有的服务有5分钟的超时限制,防止系统被卡。

____本文摘自《centos Linux系统管理与运维》

systemd管理的更多相关文章

  1. CentOs7下systemd管理知识要点

    centOs7的一个巨大的变动就是用systemd取代了原来的System V init.systemd是一个完整的软件包,安装完成后有很多物理文件组成,大致分布为,配置文件位于/etc/system ...

  2. Ubuntu 18.04 使用Systemd管理MySQL 5.6

    转自:https://blog.csdn.net/skykingf/article/details/45225981 如何用Systemd管理 general 包安装的MySQL呢? 首先看看yum安 ...

  3. dockerd启动配置_修改IP和systemd管理

    docker采用CS架构,dockerd是管理后台进程,默认的配置文件为/etc/docker/daemon.json(--config-file可以指定非默认位置). 一个完整的daemon.jso ...

  4. linux任务计划 chkconfig工具 systemd管理服务 unit介绍 target介绍

    linux任务计划 任务计划:特定时间备份数据,重启服务,shell脚本,单独的命令等等. 任务计划配置文件:cat /etc/crontab [root@centos7 ~]# cat /etc/c ...

  5. 简述systemd的新特性及unit常见类型分析、使用systemd管理编译安装的nginx

    1. systemd新特性 并行处理(同时启动)所有服务. 基于依赖关系定义的服务控制逻辑 系统状态快照 按需激活进程,只有第一次被访问时才会真正启动: 2. systemd的常见unit类型 Ser ...

  6. linux任务计划cron、chkconfig工具、systemd管理服务、unit和target介绍

    第8周第1次课(5月14日) 课程内容: 10.23 linux任务计划cron10.24 chkconfig工具10.25 systemd管理服务10.26 unit介绍10.27 target介绍 ...

  7. Linux centos7 linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、 target介绍

    一.linux任务计划cron crontab -u  -e -l -r 格式;分 时 日 月 周 user command 文件/var/spool/corn/username 分范围0-59,时范 ...

  8. Linux 使用 Systemd 管理进程服务

    转载自:https://mp.weixin.qq.com/s/e-_PUNolUm22-Uy_ZjpuEA systemd 介绍 systemd是目前Linux系统上主要的系统守护进程管理工具,由于i ...

  9. systemd管理网络应用

    采用systemd-networkd管理网卡 主网卡eth0的配置文件/etc/systemd/network/20-eth0.network,静态配置时内容示例如下: [Match] Name=et ...

  10. systemd管理进程

    systemd很强大的管理工具,这里简单用来管理一个进程: [Unit]Description=Imges Compress Server [Service]Type=simpleExecStart= ...

随机推荐

  1. WPF使用border画框

    以前的界面中使用的框大都是由美工做好的,但是这样就遇到几个问题: 框只是换一个颜色,就需要多做出一张图,资源包中也要多一个图片资源: 文字的数量会改变,用一张固定的图进行拉伸,边角处会变得越来越不尽如 ...

  2. html、css、javascript之间的关系

    网页主要由三部分组成: 结构( Structure) . 表现( Presentation) 和行为( Behavior)HTML —— 结构, 决定网页的结构和内容( “是什么”)CSS —— 表现 ...

  3. 8.Linux用户管理(上)

    1.什么是用户? 能正常登陆系统的都算用户 windows系统和linux系统的用户有什么区别? 本质上没有区别, linux支持多个用户同一时刻登陆系统, 互相之间不影响 而windows只允许同一 ...

  4. redis之Scan

    scan 相比keys 具备有以下特点:1.复杂度虽然也是 O(n),但是它是通过游标分步进行的,不会阻塞线程;2.提供 limit 参数,可以控制每次返回结果的最大条数,limit 只是一个 hin ...

  5. c语言-----劫持原理

    1. 劫持原理介绍 (1) 通过劫持技术我们可以实现某些进程的拦截,比如禁止创建文件,禁止打开qq,禁止关机等等一系列的操作 (2) 弹窗拦截就是最常见的一种劫持技术的实现. 2. 使用的工具 (1) ...

  6. 基于 HTML5 + Canvas 实现的 PID 可视化系统

    前言 随着工业物联网和互联网技术的普及和发展,人工填料的方式已经逐渐被机械设备取代.工业厂商减小误操作.提升设备安全以及追求高效率等制造特点对设备的要求愈加高标准.严要求.同时机械生产以后还需遵从整个 ...

  7. SQlite 日期时间总结

    1. 时间串转时间戳,函数strftime,其参数1是固定'%s',参数2是待转换的时间串,参数3...是修饰符 (1)select strftime('%s','2004-01-01 02:34:5 ...

  8. 2018.8.10 python中的迭代器

    主要内容: 1.函数名的使用 2.闭包 3.迭代器 一.函数名的运用 函数名是一个变量,但他是一个特殊的变量,与括号配合可执行函数的变量. 1.函数名的内存地址 def func(): print(' ...

  9. 大家都说好用的 Python 命令行库:click

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  10. 手撕公司SSO登陆原理

    Single Sign-on SSO是老生常谈的话题了,但部分同学对SSO可能掌握的也是云里雾里,一知半解.本次手撕公司的SSO登陆原理,试图以一种简单,流畅的形式为你提供 有用的SSO登陆原理. 按 ...