linux启动过程详解

linux启动过程详解

ID:23627754

大小:244.00 KB

页数:49页

时间:2018-11-09

linux启动过程详解_第1页
linux启动过程详解_第2页
linux启动过程详解_第3页
linux启动过程详解_第4页
linux启动过程详解_第5页
资源描述:

《linux启动过程详解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Linux启动信息解析49目录Linux启动信息解析1目录21.项目需求分析31.1项目背景:31.2时间:31.3项目要求分析:32.Linux启动过程42.1Linux下各个目录的作用42.2Linux启动过程42.2.1Linux的引导过程52.2.2运行级别(runlevel)52.2.3/etc/rc.d/与/etc/rc.d/init.d的关系53./init/main.c中init()函数74.启动信息10491.项目需求分析1.1项目背景:在学习操作系统中,操作系统的如何启动是一个难点,本文基于Linux开源操作系统,分析了从B

2、IOS加载BOOTLOAD,操作系统接管CPU后,init()函数所做的事情以及如何初始化系统的各种服务以及SHELL。1.2时间:开始时间:2010-7-25结束时间:2010-7-251.3项目要求分析:1)介绍Linux启动所需的目录。2)Linux启动过程。3)/etc/rc.d/与/etc/rc.d/init.d的关系。4)分析init/main.c代码中init()函数。492.Linux启动过程2.1Linux启动所需的目录init.d/:各种服务器和程序的二进制文件存放目录。rcx.d/:各个启动级别的执行程序连接目录。里头的东

3、西都是指向init.d/的一些软连接。还有三个脚本:rc.sysinit,rc,rc.local。/etc/rc.d/init.d/目录下的脚本就类似与windows中的注册表,在系统启动的时候某些指定脚本将被执行。在Redhat中,/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括:i.调入keymap以及系统字体ii.启动swappingiii.设置主机名iv.设置NIS域名v.检查(fsck)并mount文件系统vi.打开quotavii.装载声卡模块viii.设置系统时钟ix.等等。2.2Linux启动

4、过程redhat的启动方式和执行次序是:i.加载内核ii.执行init程序iii./etc/rc.d/rc.sysinit#由init执行的第一个脚本iv./etc/rc.d/rc$RUNLEVEL#$RUNLEVEL为缺省的运行模式v./etc/rc.d/rc.localvi./sbin/mingetty#等待用户登录init在等待/etc/rc.d/rc执行完毕之后(因为在/etc/inittab中/etc/rc.d/rc的action是wait),将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。至此,Linux的

5、启动结束。492.2.1Linux的引导过程系统启动之后,在进入init.d之前,我们先来看看系统都做了什么工作.我们从比较高的角度去看开始引导的整个过程,比较清晰明了。系统加电之后,首先进行的硬件自检,然后是bootloader对系统的初始化,加载内核。内核被加载到内存中之后,就开始执行了。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统,并已初始化所有的设备驱动程序和数据结构等之后,就通过启动一个叫init的

6、用户级程序,完成引导进程。2.2.2运行级别(runlevel)init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init进程上来首先做的事是去读取/etc/目录下inittab文件中initdefaultid值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到6,具有不同的功能。不同的运行级定义如下:  #0-停机(千万别把initdefault设置为0,否则系统永远无法启动)  #1-单用户模式  #2-多用户,没有NFS 

7、 #3-完全多用户模式(标准的运行级)  #4–系统保留的  #5-X11(xwindow)  #6-重新启动(千万不要把initdefault设置为6,否则将一直在重启)2.2.3/etc/rc.d/与/etc/rc.d/init.d的关系写到这里,应该差不多要进入init.d了,可是我觉得单写/etc/rc.d/init.d的话不一定能说得清楚明白,就拿它跟/etc/rc.d这个它上一级的目录一起来讨论,可能比较合适一些,因为他们之间有着千丝万缕的关系。在这里先解释一下init.d里面放的都是什么东西。这个目录存放的是一些脚本,一般是lin

8、ux以rpm包安装时设定的一些服务的启动脚本。系统在安装时装了好多rpm包,这里面就有很多对应的脚本。执行这些脚本可以用来启动,停止,重启这些服务。4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。