目录
引导过程
bios :开机检测硬件,去第一启动项上找主引导记录(mbr gpt)
mbr :协助硬件找到操作系统
grup :启动加载器(程序的配置文件找到内核文件的位置)
加载内核:运行内核(操作系统)
在操作系统上启动祖宗进程:centos 7 —— systemd
centos 6 —— init
linux 组成
—— kernel 内核(操作系统的核心)
实现进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能等,就一个文件 linux
—— rootfs 包括程序和 glibc 库
程序:二进制执行文件
库:函数集合,function ,调用接头(头文件负责描述)
—— 内核设计流派
宏内核(monolithic kerne)
又称单内核和强内核,Unix,Linux把所有系统服务都放到内核里,所有功能集成于同一个程序,分层实现不同功能,系统庞大复杂,Linux其实在单内核内核实现了模块化,也就相当于吸收了微内核的优点
微内核(micro kernel)
Windows,Solaris,Harmonyos简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护,每种功能使用一个单独子系统实现,将内核功能移到用户空间,性能差
服务
服务:特殊的应用程序,一般在后台一直执行
系统服务:给系统提供服务功能
应用服务:给人提供服务
systemd :服务程序,给其他应用程序使用
nginx :给人使用
rpcbind :远程过程调用
systemd 单元类型
单元类型 | 说明 |
---|---|
Service | 描述一个系统服务软件 |
Socket | 描述一个进程间通信的套接字 |
Device | 描述一个内核识别的设备文件 |
Mount | 描述一个文件系统的挂载点 |
Automount | 描述一个文件系统的自动挂载点 |
Swap | 描述一个内存交换设备或交换文件 |
Path | 描述一个文件系统中文件或目录 |
Timer | 描述一个定时器(用于实现类似 cron 的调度任务) |
Snapshot | 用于保存一个 systemd 的状态 |
Scope | 使用 systemd 的总接口以编程的方式创建外部进程 |
Slice | 描述居于 Cgroup 的一组通过层次组织的管理系统进程 |
Target | 描述一组 systemd 的单元 |
systemctl 常用命令
systemctl | 作用 |
---|---|
start 程序名(服务名) | 启动某个服务 |
stop 程序名 | 关闭某个服务 |
restart 程序名 | 重启某个服务(先关服务,再开启服务) |
reload 程序名 | 重新加载某个程序的配置文件,在不停止服务的情况下重新加载服务 |
status 程序名 | 查看目前服务的状态 |
enable 程序名 | 开机自启动 |
disable 程序名 | 开机不自启动 |
enable --now 程序名 | 开机启动并且立即开启服务 |
disable --now 程序名 | 开机不自启动并且立即关闭服务 |
补充命令
systemctl stop firewalld :关闭防火墙
setenforce 0 :关闭安全终端
运行级别所对应的 systemd 目标
运行级别 init | |
---|---|
0 | 关机 |
1 | 单用户、修系统、管理系统 |
2 | 字符界面,不支持 nfs 功能 |
3 | 最完整的字符界面 |
4 | 保留下来的字符界面 |
5 | 图形界面 |
6 | 重启 |
查看当前系统运行的等级
runlevel