您的位置:首页 > 运维架构 > Linux

Linux开机流程--读书笔记

2010-04-21 10:30 218 查看
                                                                                     Linux开机流程--读书笔记

说明:为了学习Linux的开机流程,在网络上查看了很多文章,觉得稍有领悟,便想写点东西出来,以防将来忘却。但真正要写时却又觉得网上的文章把该写的都写了,自己再也写不出什么了。网上有一位叫"鸟哥"同胞的文章讲的特别全面,思路也很清晰。在这儿我不管些什么都难免有抄袭的嫌疑,就我现在的水平,想要创新也很难,既然难有创新,那就索性当作笔记吧,根据鸟哥的文章这儿简单的记录一点linux开机的流程。把“鸟哥”的个人网站链接在此,希望想要了解开机流程的朋友直接去他那儿看,以免在这儿浪费时间。

鸟哥的个人网址(鸟哥的Linux私房菜):http://linux.vbird.org/

鸟哥的Linux私房菜--之Linux开机流程:http://linux.vbird.org/linux_basic/0510osloader.php#startup_loader

当开机键按下后,电脑硬件会自动载入BIOS(Basic Input Output System),然后通过BIOS载入CMOS(保存计算机基本启动信息(如日期、时间、启动设置等)的ROM

芯片)信息,通过CMOS读取硬件设置信息。做完这些BIOS还会进行开机自我测试(Power-on Self Test),然后进行硬件检测的初始化,并设置pnp装置(plug and play:随插即用装置),最后还会定义可开机的装置顺序。然后系统会自动读取第一个可开机的装置(这个装置由BIOS来设定),此时,就可以读入开机管理程序了。开机管理程序可以指定使用哪个内核来开机,并实际载入内核到内存中进行解压缩并执行,此时,内核就可以在内存中活动了,内核会侦测所有硬件信息并载入适当的驱动程序来使整个主机开始运行,这个过程如果完美完成,一个操作系统就在电脑上运行起来了。内核启动,主机系统开始运行后,这个时候Linux才会调用外部程序开始搭建软件执行环境,并载入所有系统运行所需的软件程序。完成这个工作,用户就可以登录了。整个过程可以分为以下几步:

1、载入BIOS的硬件信息并进行自我测试,并根据设定取得第一个课开机的装置;

2、读取并执行第一个开机装置内MBR(Master Boot Record,主要开机记录区)的boot Loader(也就是grub,spfdisk等程序);

3、依据boot Loader的设定载入Kernel,kernel会开始侦测硬件并载入驱动程序;

4、在硬件驱动加载成功后,kernel会主动调用init程序,init则会取得run-level信息;

5、 init执行/etc/rc.d/rc.sysinit来搭建软件执行的工作环境(如网络、时区等);

6、 init执行run-level的各个服务的启动(以script方式);

7、 init执行/etc/rc.d/rc.local;

8、 init执行终端机模拟程序mingetty来启动login程序,然后等待用户登录。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息