知识点36 Linux的启动过程_第1页
知识点36 Linux的启动过程_第2页
知识点36 Linux的启动过程_第3页
知识点36 Linux的启动过程_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux的启动过程系统的引导和初始化是操作系统实现控制的第一步,对于Linux系统的启动和初始化过程的理解就显得非常重要。Linux系统的启动与初始化过程主要包括了以下4个阶段:(1) 计算机本身BIOS程序开机自检(2) Linux引导程序运行(3) Linux内核部分解压缩装载运行(4) Linux初始化进程init运行启动计算机并使其操作系统被加载的过程称为引导。当按下主机开关POWER键时,主机开始加电,系统开始被启动,处理器将在相应的位置执行代码。在PC上,这个位置处于基本输入输出系统中,也就是BIOS,它是被固化到主板闪存ROM中的已知程序。BIOS程序首先进行POST(powe

2、r on self test)自检, 检测系统中一些关键设备是否存在和能否正常工作,例如内存、显卡及CPU类型和频率等。随后BIOS还将检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、及插即用设备等,并显示这些设备的相关信息。如果系统BIOS在进行POST的过程中发现了一些致命错误,系统BIOS就会直接控制喇叭发声来报告错误。在正常情况下,POST过程进行得非常快,几乎无法感觉到它的存在。基本测试通过之后,随后系统BIOS的启动代码将根据用户指定的启动顺序搜索引导分区上的引导程序。BIOS将读取并执行引导扇区中的主引导记录,而主引导记录将负责读取并执行一小段叫bootst

3、rap loader的程序。随后,BIOS程序将计算机的引导权完全交给了bootstrap loader程序执行随后的引导操作系统任务。通常主引导扇区位于磁盘的0柱面0磁头第1个扇区。主引导扇区共512字节的内容,由446字节的主引导记录(MBR)和64字节的磁盘分区表(DPT)(如图5-1所示),外加2个字节的标志位共同组成。上面提到的bootstrap loader程序程序就被放置在主引导记录中,Linux系统中的bootstrap loader被称为grub或者lilo。DPTTTMBR主引导扇区512M主引导分区图5-1 MBR和DPT第二阶段bootstrap loader的引导程序

4、grub(或lilo)接管了启动操作系统的任务,它负责从磁盘中读入真正的操作系统内核程序并执行随后的启动。引导程序主要提供以下功能:提供选项。用户可以选择不同的开机项目,这是多重引导的重要功能。载入内核文件。直接指向可开机的程序区段来开始操作系统。转交其他loader,将开机管理功能转交给其他loader负责。grub程序一般位于/boot/grub目录中,如图5-2所示是一个标准的grub程序:图5-2 grub程序文件前几行带有#是注释部分,真正启作用的是下面7行部分:(1) default=0定义了系统默认启动的操作系统;(2) timeout=0定义了默认超时时间,也就是过10秒用户不

5、选择,则自动启动默认系统;(3) splashimage一行则定义了启动时的背景图片;(4) title 一行定义了启动菜单及相关的根目录位置、内核文件及初始化的文件镜像;(5) root一行定义了操作系统内核和引导文件所在的磁盘分区。(hd0,0)表示第一块硬盘的第一个分区,(hd0,2)表示第一块硬盘的第3个分区,依次类推;(6) kernel一行定义了系统内核及boot命令用到的参数;(7) initrd一行定义了系统引导程序。Linux系统中,由grub程序引导而开始读入内核文件后,接下来进入到了第三阶段的启动,引导程序将内核解压缩到主存储器当中,并且利用内核的功能,开始测试与驱动各个

6、周边设备,包括存储设备、CPU、网卡、声卡等等。此时Linux内核将会以自己的功能重新检测一次硬件,而不一定会使用BIOS检测到的硬件信息。内核文件一般会被放置到/boot里面,并且取名为/boot/vmlinuz。 Linux内核通过动态加载内核模块来提供加载驱动程序的功能。这些模块放在/lib/modules/目录内。由于模块放到磁盘根目录内,因此在开机过程中内核必须要挂载根目录。而且为了担心影响到磁盘内的文件系统,开机过程中根目录是以只读的方式来挂载的。Linux系统启动进入了第4阶段,开始执行第一个系统守护进程init。init进程是系统中所有进程的父进程,init进程繁衍出通常操作所

7、需的子进程,这些操作包括:设置计算机名、检查和安装磁盘文件系统、启动系统日志、配置网络接口并启动网络和邮件服务,启动打印服务等。Linux中init进程的主要任务是按照inittab文件所提供的信息创建进程,由于进行系统初始化的那些进程都由init创建,所以init进程也称为系统初始化进程。当系统内核加载到内存后,执行一系列初始化工作,随后执行系统的第一个进程init,其进程号(PID)为1,是系统所有进程的父进程、即系统其他进程都必须由init派生而来、接下来由进程继续启动:读取系统配置文件/etc/inittab中的信息:inittab中的信息内容大致如图5-3所示:图5-3 inittab中的信息内容其中最后一行中的id:5指示了系统默认启动的运行级别。Linux提供了7种运行级别: 运行级别功能说明0系统停机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论