redhat启动流程.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
redhat启动流程

Redhat启动流程 当用户打开PC 的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导Linux, Linux首先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初 始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从 开机到登录的整个启动过程。 Master Boot Record)中装载启动引导管理器(LILO或root指令为grub 指定了一个根分区 grubkernel /xen.gz-2.6.18-37.el5 --kernel指令将操作系统内核载入内存 grubmodule /vmlinuz-2.6.18-37.el5xen ro root=/dev/sda2 --module指令加载指定的模块 grubmodule /initrd-2.6.18-37.el5xen.img --指定initrd文件 grubboot --boot 指令调用相应的启动函数启动OS内核 第三阶段: 如阶段2所述,grubboot 指令后,系统启动的控制权移交给kernel。Kernel会立即初始化系统中各设备并做相关配置工作,其中包括CPU、I/O、存储设 备等。 关于设备驱动加载,有两部分:一部分设备驱动编入Linux Kernel中,Kernel会调用这部分驱动初始化相关设备,同时将日志输出到kernel message buffer, 系统启动后dmesg可以查看到这部分输出信息。另外有一部分设备驱动并没有编入Kernel,而是作为模块形式放在initrd(ramdisk)中。 在2.6内核中,支持两种格式的initrd,一种是2.4内核的文件系统镜像image-initrd,一种是cpio 格式。以 cpio 格式为例,内核判断initrd为cpio 的文件 格式后,会将initrd 中的内容释放到rootfs 中。 initrd 是一种基于内存的文件系统,启动过程中,系统在访问真正的根文件系统/时,会先访问initrd文件系统。将initrd 中的内容打开来看,会发现有bin、 devetc、lib、procsys、sysroot、init等文件(包含目录)。其中包含了一些设备的驱动模块,比如scsi ata等设备驱动模块,同时还有几个基本的可执行程 序 insmod, modprobe, lvm,nash。主要目的是加载一些存储介质的驱动模块,如上面所说的scsi ideusb 等设备驱动模块,初始化LVM,把/根文件系统以 只读方式挂载。 initrd 中的内容释放到rootfs 中后,Kernel会执行其中的init 文件,这里的init 是一个脚本,由nash 解释器执行。这个时候内核的控制权移交给init文件处 理,我们查看init 文件的内容,主要也是加载各种存储介质相关的设备驱动。 驱动加载后,会创建一个根设备,然后将根文件系统/以只读的方式挂载。这步结束后释放未使用内存并执行switchroot,转换到真正的根/上面去,同时 运行/sbin/init 程序,开启系统的1号进程,此后系统启动的控制权移交给 init 进程。关于switchroot是在nash 中定义的程序。 Linux Kernel需要适应多种不同的硬件架构,但是将所有的硬件驱动编入Kernel又是不实际的,而且Kernel也不可能每新出一种硬件结构,就将该硬件的 设备驱动写入内核。实际上Linux Kernel仅是包含了基本的硬件驱动,在系统安装过程中会检测系统硬件信息,根据安装信息和系统硬件信息将一部分设 备驱动写入 initrd 。这样在以后启动系统时,一部分设备驱动就放在initrd 中来加载。 第四阶段: init 进程起来后,系统启动的控制权移交给init 进程。 /sbin/init 进程是所有进程的父进程,当init 起来之后,它首先会读取配置文件/etc/inittab,进行以下工作: 1)执行系统初始化脚本(/etc/rc.d/rc.sysinit),对系统进行基本的配置,以读写方式挂载根文件系统及其它文件系统,到此系统基本算运行起来了,后面需 要进行运行级别的确定及相应服务的启动; 2)确定启动后进入的运行级别; 3) 执行/etc/rc.d/rc,该文件定义了服务启动的顺序是先K后S,而具体的每个运行级别的服务状态是放在/etc/rc.d/rcn.d(n=0~6)目录下,所有的文件均 链接至/etc/init.d 下的相应文件。 4)有关key sequen

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档