运行级别
- 0:系统关机模式。
- 1:只有一个登录用户可以使用系统,通常用于系统维护和故障排除。
- 2:启动基本的多用户环境,但不加载网络服务。
- 3:系统会加载所有必要的服务,包括网络服务,但不包括图形界面。
- 4:保留未使用的运行级别,在大多数 Linux 发行版中,没有特定的用途。
- 5:图形界面模式。
启动过程
- BIOS / UEFI 启动:计算机的基本输入/输出系统 (BIOS) 或 统一固件接口 (UEFI) 会进行自检,并初始化硬件。
- 引导加载程序:读取启动设备(通常是硬盘)上的 MBR 中的引导加载程序(如 LILO 或 GRUB),加载操作系统内核。
- MBR 详见磁盘笔记
- LILO:一种较旧的引导加载程序,现在已经不太常用。它能从固定位置读取内核文件,但配置相对较为有限。优势在于其相对较小的体积和较快的启动速度。
- GRUB:目前广泛使用的引导加载程序之一,可以从多个文件系统读取内核文件,并提供了命令行界面和图形界面,使用户选择要启动的操作系统和配置启动参数。
- 内核加载:引导加载程序将内核加载到内存中,并将控制权转交给内核。内核是操作系统的核心组件,负责管理系统的硬件、资源和进程等。
- 初始化进程:执行一个叫做
init
的特殊进程,它是用户空间的第一个进程,读取配置文件(如 /etc/inittab) - 在较新的 Linux 发行版中,目录 /etc/inittab 已经不再使用,而是使用了 systemd 作为默认的初始化系统。
- 运行级别切换:init 进程根据配置文件中的设定,根据运行级别切换系统状态,启动或停止相应的进程和服务。
- 启动服务和进程:在特定的运行级别下,
init
进程会根据配置文件中的指示启动需要的服务和进程。这些服务可能包括网络服务、系统日志等。
- 用户登录:系统完成启动并进入相应的运行级别后,用户通过终端或图形界面进入。
常用命令
详见平常实验报告