理解linux系统初始化

 文章内容由网上搜集的资料整理而得,由于资料下的太多没注意出处及作者,在这里只好谢谢各位大大们了。  

     要说linux服务就不得不说linux系统的初始化过程了。

     开机步骤:

         1.开机自检

         2.预引导

         3.核心映像装入

         4.核心启动

         5.系统初始化

         6.等待用户登录

     注:在核心启动完之后会搜索文件系统中的init程序(或者由init=命令行参数指定的程序),并使用 execve()系统调用加载执行init程序,到这里也就进入了系统初始化阶段。

     系统初始化的工作:INIT进程负责进行一系列系统初始化程序和脚本文件,/etc/inittab中包含了INIT所做的所有工作。

   INITTAB文件简单描述

         init进程是系统所有进程的起点,内核在完成核内引导以后,即在本线程(进程)空间内加载init程序,它的进程号是1。

启动

         init程序需要读取/etc/inittab文件作为其行为指针,inittab是以行为单位的描述性(非执行性)文本,每一个指令行都具有以下格式:

         id:runlevel:action:process其中id为入口标识符,runlevel为运行级别,action为动作代号,process为具体的执行程序。

         id一般要求4个字符以内,对于getty或其他login程序项,要求id与tty的编号相同,否则getty程序将不能正常工作。

         runlevel是init所处于的运行级别的标识,一般使用0-6。0、1、6运行级别被系统保留,0作为shutdown动作,1作为重启至单用户模式,6为重启。

         在一般的系统实现中,都使用了2、3、4、5几个级别,在Redhat系统中,2表示无NFS支持的多用户模式,3表示完全多用户模式(也是最常用的级别),4保留给用户自定义,5表示XDM图形登录方式。

         initdefault是一个特殊的action值,用于标识缺省的启动级别;当init由核心激活以后,它将读取inittab中的initdefault项,取得其中的runlevel,并作为当前的运行级别。


  在Redhat系统中,一般情况下inittab都会有如下几项:

     id:3:initdefault:
     #表示当前缺省运行级别为3--完全多任务模式;
     si::sysinit:/etc/rc.d/rc.sysinit
     #启动时自动执行/etc/rc.d/rc.sysinit脚本
     l3:3:wait:/etc/rc.d/rc 3
     #当运行级别为3时,以3为参数运行/etc/rc.d/rc脚本

 

 

  init进程将启动运行rc脚本,下面将介绍rc脚本具体的工作:

       看上面的inittab文件系统启动级别3的模式;

       自动执行etc/rc.d/rc.sysinit,rc.sysinit中最常见的动作就是激活交换分区,检查磁盘,加载硬件模块(具体的大家可以去看脚本);      

       接着在运行级别3下,/etc/rc.d/rc将会得到执行,命令行参数为3,即执行/etc/rc.d/rc3.d/目录下的所有文件。rc3.d下的文件都是指向/etc/rc.d/init.d/目录下各个Shell脚本的符号连接,而这些脚本一般能接受start、stop、restart、status等参数。rc脚本以start参数启动所有以S开头的脚本,在此之前,如果相应的脚本也存在K打头的链接,而且已经处于运行态了(以/var/lock/subsys/下的文件作为标志),则将首先启动K开头的脚本,以stop作为参数停止这些已经启动了的服务,然后再重新运行。显然,这样做的直接目的就是当init改变运行级别时,所有相关的服务都将重启,即使是同一个级别。

       rc程序执行完毕后,系统环境已经设置好了,下面就该用户登录系统了。


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值