- 爱易网页
-
Linux
- LINUX系统札记2-系统的引导
日期:2014-05-16 浏览次数:20734 次
LINUX系统笔记2---系统的引导
2.1 引导
这是Linux系列文章第二篇,我们看一下linux系统是怎么引导的,相对与windows的解读,Linux还是有些不一样的地方。
2.2 init进程
这是系统的最先启动进程,在硬件引导完成将控制权交给系统内核的时候,这个进程产生。并且他的PID号总是1。
当由BIOS确定从那个硬件设备引导后,读取MBR,确定第二引导程序,这个引导程序主要作用是加载内核,执行一系列的引导过程,当检测完硬件之后,内核产生init进程,init进程创建其他守护进程的方式是调用SHELL脚本,而这些启动脚本大多数是以RC文件,比如RC0.D等,这下明白这些文件是干什么用的了把,rc是run command的简写。是操作系统发展的遗留痕迹。
2.3 引导过程
大体上分为6个阶段:
加载初始化内核;
检测硬件;
创建内核进程;
操作员干预(假如);
执行系统启动脚本;
多用户模式运行;
内核是一个二进制的镜像,位置在/boot/vmlinuz,或者/vmlinuz下,linux系统是单内核结构,所以整个内核都在内存中。内核首先要做的往往是检测硬件的情况,驱动程序由内核加载。
在内核初始化后,会有几个自发的进程被创建,他们并不是由fork来创建的,我们在ps命令中看到的一些进程名字被中括号包起来,并且PID号都比较小的,往往都是内核创建的,其实是内核的组成部分,装扮一下更像进程罢了。
列举几个:
kjournald
kswapd
kreclaimd
ksoftirqd
可以看到PID号都很小,在执行启动脚本之后,生成getty进程,好让用户登录进来。
引导涉及GRUP程序,这是目前很流行的引导加载程序,在多系统的时候尤为重要,不涉及了,有兴趣的可以自己查查资料。
这里面提及一下单用户模式,在linux启动的时,可以人工干预,变为单用户登录,目前我所应用的就是忘了root密码,选择这个登录去修改密码。
2.4 启动脚本
说到启动脚本,必须提及init进程,这里面涉及一个运行级的概念
0级:完全关闭系统;
1级:单用户模式;
2-5级:多用户模式;
6级:重新引导;
0级和6级,系统是不能停留在这两个级别中的,当计算
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。