- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux 系统工程师 —— Linux 系统管理
第九章 系统启动与控制
Linux 系统是如何启动的?如果出现故障,应该在什么模式下修复?Linux 启动
时会会启动哪些服务?要回到这一系列的问题,就应该阅读本章的内容。
Linux 系统是一个可订制的系统,它非常灵活。要深入理解 Linux 系统,我们必
须要理解它的启动过程以及相关脚本。
本章目标:
学习完本章你将能够
理解 Linux 的运行级别
熟悉 Linux 的启动过程
配置在不同的运行级别下启动的
服务
GRUB 引导器的配置
115 Version :1.0
Linux 系统工程师 —— Linux 系统管理
1. Linux 系统的启动过程
图 9-1 显示了 Linux 系统的启动过程。
图9-1
具体的步骤为:
1、开机自检
2 、从硬盘的MBR 中读取引导程序LILO 或 GRUB
3、引导程序根据配置文件显示引导菜单
4 、如果选择进入Linux 系统,此时引导程序加载Linux 内核文件。以RedHat Enterprise Linux
AS4 为例,GRUB 程序将装载/boot/vmlinuz-2.6.9-22.EL 文件到内存中。
5、当内核全部载入内存后,GRUB 的任务完成,此时全部控制权限交给 Linux ,CPU 开
始执行 Linux 内核代码(初始化任务调度、分配内存、加载驱动等)。
6、内核代码执行完后,开始执行 Linux 系统的第一个进程 init 进程(如果在各个 Linux
发行版本中查看 Linux 进程,将会发现 init 进程的进程号都是 1)。
116 Version :1.0
Linux 系统工程师 —— Linux 系统管理
7、init 进程根据系统初始化配置文件/etc/inittab 文件,执行相应的系统初始化脚本(一般
都是/etc/rc.d/rc.sysinit )。
8、根据/etc/inittab 文件的配置,进入不同的运行级别。
9、启动或停止相应运行级别下的服务。
10、建立终端。
11、引导 login 进程,进入登录界面。
内核启动的参考(作为补充材料阅读):
当引导程序成功完成引导任务后,Linux 从它们手中接管了 CPU 的控制权,然
后 CPU 就开始执行 Linux 的核心映象代码,开始了 Linux 启动过程。这里使用了几
个汇编程序来引导 Linux ,这一步泛及到 Linux 源代码树中的“arch/i386/boot ”下的
这几个文件:bootsect.S 、setup.S 、video.S 等。
其中 bootsect.S 是生成引导扇区的汇编源码,它完成加载动作后直接跳转到
setup.S 的程序入口。setup.S 的主要功能就是将系统参数(包括内存、磁盘等,由
BIOS 返回)拷贝到特别内存中,以便以后这些参数被保护模式下的代码来读取。此
外,setup.S 还将 video.S 中的代码包含进来,检测和设置显示器和显示模式。最后,
setup.S 将系统转换到保护模式,并跳转到 0x100000 。
那么 0x100000 这个内存地址中存放的是什么代码?而这些代码又是从何而来
的呢?
0x100000 这个内存地址存放的是解压后的内核,因为 Red Hat 提供的内核包含
了众多驱动和功能而显得比较大,所以在内核编译中使用了“makebzImage ”方式,
从而生成压缩过的内核,在 RedHat 中内核常常被命名为 vmli
原创力文档


文档评论(0)