Linux系统启动过程
本文是学习日记,学自菜鸟教程。
Linux启动过程
Linux启动过程并不复杂,主要分为五部分:内核的引导、运行init、系统初始化、建立终端、用户登录系统。过程如下:
详细过程如下:
第一部分:内核引导
操作系统接管硬件以后,首先读入/boot目录下的内核文件。
第二部分:init进程
在Linux操作系统当中,init进程是所有进程的起点,如果不启动init进程,则其余所有进程都无法启用。
第三部分:运行级别
在系统开机的过程中,许多程序需要开机启动。这些开机启动的进程在Windows系统当中被称为“服务”(service),而在Linux系统当中被称为“守护进程”(daemon)。
Linux系统中有7中运行级别:运行级别0~运行级别6。这7中运行级别对应不同状态:
运行状态0:系统停机状态,系统默认运行级别不能为0,否则不能正常启动。
运行状态1:单用户工作状态,root权限,用于系统维护,禁止远程登录。
运行状态2:多用户状态(没有NFS) ps: NFS为网络文件系统。
运行状态3:完全的多用户状态(NFS),登陆后进入进入控制台命令行模式。
运行状态4:系统未使用,保留。
运行状态5:X11控制台,登陆后进入图形GUI模式
运行状态6:系统正常关闭并重启,默认运行级别不能设为,6,否则不能正常启动。
第四部分:系统初始化
主要通过rc.sysinit来进行初始化。rc.sysinit是bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。
第五部分:建立终端
rc执行完毕后,返回init。这时基本系统环境设置好了,各种守护进程也已经启动了。init接下来会打开6个终端,以便用户登录系统。
第六部分:用户登录
一般来说,用户的登录方式有三种:
1.命令行登陆。
2.SSH登陆。
3.图形界面登陆。
第七部分:关机
关机流程:命令行顺序执行命令sync -> shutdown -h now