快速业务通道

Linux系统运行级与启动机制剖析

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-02

一 系统运行级
windows系统有安全运行模式和正常运行模式,这是两个不同的运行级,同样,linux也有系统运行级别,并且linux系统的运行级别更加灵活,更加多样化.
在讲述运行级别前,先讲述下linux下的init程序,init程序直接和系统运行级别相关联, init程序是linux操作系统最主要的程序之一,是一个由系统内核启动的用户级进程,同时init进程也是所有其它系统进程的鼻祖,也就是说init进程是系统运行的第一个进程,它的进程号始终为1.
linux系统有7个运行级别,这些运行级别均在/etc/inittab文件中指定,下面讲述/etc/inittab文件的具体实现.
以redhat linux为例,下面是/etc/inittab的某段信息.
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
上面这段信息列出了linux系统的7个运行等级:
0-关机模式,
1-单用户模式,单用户只有系统管理员可以登录.
2-多用户模式,但是不支持文件共享,例如不支持NFS服务.这种模式不常用.
3-完全的多用户模式,支持NFS服务.最常用的用户模式,默认登录到系统的字符界面.
4-基本不用的用户模式,可以实现某些特定的登录请求.
5-完全多用户模式,默认登录到X-window系统,也就是登录到linux图形界面.
6-重启模式,也就是执行关闭所有运行的进程,然后重新启动系统.
这些运行级别和linux中的init程序相互对应,例如执行init 1系统就进入单用户模式,执行init 6系统将重新启动.
在inittab文件中以#开头的所有行都是注释行.注释行有助于用户理解inittab文件每项的具体含义,inittab文件中的值都有如下格式组成:
label:runlevel:action:process
1.label字段
label是有1~4个字符组成的标签,用来标示输入的值.一些系统只支持2个字符的标签.鉴于此原因,多数人都将标签字符的个数限制在2个以内.该标签可以是任意字符构成的字符串,在Red Hat Linux中使用的标签有:


2.runlevel字段
runlevel字段指定系统的运行级别.可以指定多个运行级别,也可以不为runlevel字段指定特定的值.
3. process字段
process字段包含了init执行的进程,也就是init程序具体要执行的命令,该进程采用的格式与在命令行下运行该进程的格式一样,因此process字段都以该进程的名字开头,后面是运行时要传递给该进程的参数.比如/sbin/shutdown -t3 -r now.
4.action字段
action字段定义了:当系统进入相应的运行级别后,init程序应该以何种方式运行process字段对应的命令,action字段常用的值如下表所示:


明白了inittab文件的格式以后,我们就知道每项的含义了, 接着看/etc/inittab下面的内容:
id:5:initdefault:
表示系统将默认启动到X-window界面下,如果我们想让系统默认开机启动到字符界面下,只需修改id:5:initdefault:为id:3:initdefault:即可.
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
该段告诉init程序,运行/etc/rc.d/rc.sysinit来进行系统初始化工作.
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
上面这段信息标明/etc/rc.d/rc可以运行在0~6各个运行级别,同时init程序等待/etc/rc.d/rc执行完毕才进入下一步操作.
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
上面这段指定了当Ctrl Alt Del三个键同时按下时,init程序将执行/s

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号