从 CentOS7 版本开始,系统启动和服务管理器都交给 systemd 进行管理。
一、引导过程总览:
1、开机自检:
服务器开机后,将根据主板BIOS (基本输入系统),中的设置对CPU 、内存、显卡、键盘等设备进行初步检测,并初始化部分硬件。
2、MBR 引导:
当从本机硬盘中启动系统时,首先根据硬盘中第一个扇区中 MBR(主引导记录)的设置,将系统控制权传递给包含系统操作引导文件的分区;或者直接根据MBR 记录中的引导信息调用启动菜单。
3、GRUB 菜单:
对于linux系统来说,GRUB 算是使用最为广泛的多系统引导器程序了,系统控制权传递给GRUB 以后,将会显示提供用于选择,并根据选项加载linux 内核文件。
4、加载linux 内核与内存文件系统:
系统引导器程序会从本地硬盘中加载内核以及内存文件系统(centos7 中使用的是 initramfs),内存文件系统 initramfs 是经过gzip 的 cpio 归档,其中包含启动时所有必要的硬件内核模块、初始化脚本等。
5、加载硬件驱动以及初始化过程:
内核初始化在 initramfs 中找到驱动程序的所有硬件,然后作为PID 1 从initramfs 执行 /sbin/init,CtnOS7 中将其复制为 systemd,systemd启动 initrd.target 中所有单元,并挂载根文件系统 /sysroot,内核与文件由内存文件系统切换至系统根文件系统,并重新运行 /sysroot.systemd。systemd启动默认target (图形或者字符终端),最后等待用户登录。
二、init 进程:
1、由Linux 内核加载运行 /sbin/init 程序
2、是系统中的第一个进程
3、PID (进程标记)号永远为 1
三、Systemd 进程:
1、systemd 简介:
linux系统中的进程(运行中的程序),使用数字进行标记,每个进程的身份标记号称为 PID 。从CentOS7 版本的系统开始 systemd 称为PID 恒为1 的初始化进程,是内核第一个加载的程序。
systemd 进程是不允许被轻易终止的,当我们需要切换不同的系统时,可以向systemd 进程发送正确的命令。
systemd 的目的是为了将更多的服务并发启动,从而提高系统启动速度,最大的优点在于具有提供按需启动服务的能力。
2、Systemd 单元类型:
3、运行级别所对应的 Systemd 目标:
其中 3和 5 是我们平时学习和工作中较为常用的两个级别。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。