系统启动流程和服务控制

 一、系统启动


1.BIOS(基本输入输出系统)加电自检,检测硬件,决定启动介质,找到引导扇区

2.读取并且执行第一个开机设备中的MBR(主引导记录的gru并加载驱动程序b程序)

3.依据bootloader设置去加载内核,内核开始侦测硬件


sysvinit启动程序(linux6)

4.内核启动init进程

5.系统初始化

6.init找到/etc/inittab文件,决定系统的运行级别

7.触发相应的运行级别的事件,运行/etc/rcX.d下的脚本

8.执行/etc/rc.local文件,来到登录界面

9.输入用户密码,进入到系统中程序,

systemd启动程序(linux7)

4.在硬件加载驱动成功后,内核会主动呼叫systemd并以default.target流程开机

5.systemd执行sysinit.target初始化系统及basic.target准备操作系统

6.systemd启动multi-user.target下的本机与服务器服务

7.systemd执行multi-user.target下的/etc/rc.d/rc.local文件

8.systemd执行multi-user.target下的getty.target及登录服务

9.systemd执行graphical需要的服务

(GRUB2相较于GRUB一代的提升:更健壮、可移植、更强大。支持BIOS、uEFI和OpenFirmware,支持GPT和MBR分区表。支持非Linux系统,如苹果HFS文件系统和Windows的NTFS文件系统)

Init和Systemd的区别

init

一是启动时间长,init是串行启动,只有前一个进程启动完,才会启动下一个进程

二是启动脚本复杂,Init进程只是执行启动脚本,不管其他事情,脚本需要自己处理各种情况,这往往使得脚本变得很长

由Linux内核加载运行,位于 /sbin/init ,是系统中第一个进程,PID永远为1

systemd

按需启动服务,减少系统资源消耗。

尽可能并行启动进程,减少系统启动等待时间

由Linx内核加载运行,位于 /usr/lib/systemd/systemd ,是系统中第一个进程,PID永远为1

运行级别和说明

 systemctl常用命令(管理服务)

systemctl start 服务名称        #启动服务

systemctl stop 服务名称        #停止服务

systemctl restart 服务名称        #重启服务

systemctl reload 服务名称        #重载服务

systemctl status 服务名称        #检查服务状态

systemctl is-enabled 服务名称        #检查服务是否配置为开机自启

systemctl enable 服务名称        #设置服务开机自启

systemctl disable 服务名称        #取消服务开机自启

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自然醒o./

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值