- 运行级别0(halt):系统关机。
设置:sudo init 0或sudo shutdown -h now
- 运行级别1(single user):单用户模式。只有一个root用户可以登录,用于系统维护和修复。
设置:sudo init 1或sudo telinit 1
- 运行级别2(multi-user):多用户文本模式。系统进入命令行界面,但没有图形界面。多数Linux系统默认运行在此级别。
设置:sudo init 2或sudo telinit 2
- 运行级别3(multi-user):多用户文本模式。与运行级别2相同,但系统会加载更多的服务。
设置:sudo init 3或sudo telinit 3
- 运行级别4(未定义):保留级别,可供用户自定义。
- 运行级别5(graphical):图形模式。系统启动到图形界面,用于桌面环境。
设置:sudo init 5或sudo telinit 5
- 运行级别6(reboot):系统重新启动。
设置:sudo init 6或sudo shutdown -r now
在大多数Linux发行版中,运行级别的配置文件通常位于/etc/inittab中。但是,一些发行版如Ubuntu已经改用systemd来管理运行级别。
需要注意的是,不同的Linux发行版可能对运行级别的定义和使用有所不同,因此可能会有其他自定义级别或不同的命令来切换运行级别。建议查阅所使用Linux发行版的文档以了解更多关于运行级别的信息和设置。
Linux系统内核空间的初始化是一个复杂的过程,涉及到多个组件和子系统。以下是Linux系统内核空间初始化的一般流程:
- 引导加载:计算机从硬盘、固态硬盘或网络启动,并加载引导加载程序(bootloader)。引导加载程序负责加载内核映像到内存中,并将控制权交给内核。
- 内核加载:引导加载程序将内核映像从磁盘加载到内存中,然后将控制权交给内核。内核映像通常是一个压缩的镜像文件,加载后需要进行解压。
- 启动和初始化阶段:
- 初始化页表:内核开始执行后,首先会初始化页表,以建立内核空间和用户空间之间的映射关系。
- 启动初始化:内核会执行一系列的初始化函数,设置系统的基本配置,如内存管理、进程管理、设备驱动等。这些初始化函数会注册各种子系统和设备驱动,并为它们分配资源。
- 启动守护进程和服务:内核会启动系统的守护进程和服务,如init进程(或者现代的init替代者如systemd)。
- 硬件初始化:内核会初始化系统的硬件设备,如处理器、中断控制器、内存控制器、设备控制器等。
- 文件系统挂载:内核会挂载根文件系统,以便访问文件和目录。
- 用户空间初始化:一旦内核初始化完成,用户空间进程开始启动。用户空间进程是由init进程启动的,它是系统中的第一个进程。init进程负责启动其他用户空间进程和服务。
总的来说,Linux系统内核空间的初始化流程包括引导加载、内核加载、启动和初始化阶段以及用户空间初始化。这个过程会设置基本配置、初始化各种子系统和设备驱动、挂载文件系统等,最终启动用户空间进程并提供系统服务。