当前位置: IT大杂烩 > Ubuntu  > linux启动过程

linux启动过程

www.someabcd.com  网友分享于:Jun 8, 2018 6:07:47 PM

标签:blog   http   使用   文件   os   art   

linux 系统初始化可以分为两个部分: 内核初始化和系统初始化。操作系统是用户和计算机硬件之间的桥梁。操作系统管理整个系统的所有的硬件资源,并向用户应用程序提供接口,在操作系统初始化的时候,系统进行硬件自检,加载驱动并且设置软件环境;(http://blog.csdn.net/haishengflying/article/details/7862781)

  1、嵌入式linux启动第-步 ——加载bios

           计算机会首先加载bios信息:bios中包括cpu的相关信息,设备启动的顺序信息,硬盘信息,内存信息,时钟信息,内存信息,等;

  2、读取mbr

    硬盘第0磁道第一个扇区被称为mbr(Master Boot Record),即主引导记录,大小为512,里面存放了预启动信息、分区表信息。系统找到bios所制定的硬盘的msr后就会将其复制到物理内存中。被复制到物理内存中的内容就是boot loader ,而具体到电脑,就是lilo或者grub。

  3、boot loader

    boot loader 就是操作系统内核运行之前的一段小程序,通过这段小程序,我们可以初始化硬件设备,建立内存空间的映射图,从而将系统的软硬件带到一个合适的状态,以便为最终调用操作系统内核做好准备。系统读取内存中的grub配置信息(一般为menu.list或者 grup.list),并依照此配置文件信息来启动不同的操作系统

  4、加载内核

   根据grub设定的内核影像所在的路径,系统读取内存影像,并进行解压操作。此时屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK,booting the kernel ”,系统将解压后的内核放置在内存中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成linux核心环境的建立。

  5、用户层init依据inittab文件来设定运行等级

    内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件初始化工作,其实/etc/inittab文件最主要的作用就是设定linux的运行等级,其设定形式是“:id  :initdefault:",这就表明linux需要运行在等级5上,Linux的运行等级设定如下:

    0:关机

    1:单用户模式

    2:无网络支持的多用户模式  

    3:有网络支持的多用户模式

    4:保留,未使用

    5:有网络支持的x-window支持的多用户模式

    6:重新引导系统,即重启

    7:启动第六步——init进程执行rc.sysinit

    设定运行等级后,linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,他的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等

    

 

linux启动过程,布布扣,bubuko.com

linux启动过程

标签:blog   http   使用   文件   os   art   

发布此文章仅为传递网友分享,不代表本站观点,若侵权请联系我们删除,本站将不对此承担任何责任。
Copyright ©2018  IT大杂烩  版权所有  京ICP备11030978号-1 网站地图