Linux系统启动过程
Linux启动时我们会看到许多启动信息.
Linux启动的启动过程病不是大家想象中的多么复杂, 其过程可以分为5个阶段
-
- 内核的引导
- 运行 init
- 系统初始化
- 建立终端
- 用户登录系统
内核引导
当计算机打开电源后, 首先是BIOS开机自检, 按照BIOS中设置的启动设备(通常是硬盘)来启动.
操作系统接管硬盘以后, 首先读入 /boot目录下的内核文件.
运行init
init进程时系统所有进程的起点, 你可以把它比拟成系统所有进程的老祖宗, 没有这个进程, 系统中任何进程都不会启动.
init程序首先是需要读取配置文件, /ect/initab
运行级别
许多程序需要开机启动, 它们在Windows叫做"服务"(service), 在Linux就叫做"守护进程"(daemon)。
init进程的一大任务,就是去运行这些开机启动的服务。
但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。
Linux允许为不同场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行那些程序。
Linux系统有7个运行级别(runlevel):
-
- 运行级别0 --- 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动。
- 运行级别1 --- 单用户工作状态,root权限,用于系统维护,禁止远程登录
- 运行级别2 --- 多用户状态,没有NFS(Network File System)
- 运行级别3 --- 完全的多用户状态,有NFS,登陆后进入控制台命令行模式
- 运行级别4 --- 系统未使用,保留
- 运行级别5 --- X11控制台,登陆后进入图形GUI模式
- 运行级别6 --- 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。
在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS是运行在应用层的协议。随着NFS多年的发展和改进,NFS即可以用于局域网也可以用于广域网,且与操作系统和硬件无关,可以在不同的计算记或系统上运行。
略:以后补充NFS具体配置和使用
系统初始化
在init的配置文件中有这么一行: