




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux系统运行级与启动机制剖析一系统运行级windows系统有安全运行模式和止常运行模式,这是两个不同的运行级,同样,linux也有 系统运行级别,并且lirmx系统的运行级别更加灵活,更加多样化。在讲述运行级别前,先讲述下linux下的init程序,因为init程序直接和系统运行级别相 关联,init程序是linux操作系统最主要的程序之一,是一个由系统内核启动的用八级迓 程,同时init进程也是所有其它系统进程的鼻祖,也就是说init进程是系统运行的第个 进程,它的进程号始终为1。linux系统有7个运行级别,这些运行级别均在/etc/inittab文件屮指定,下面讲述 /etc/in
2、ittab文件的具体实现。以redhat 1 inux为例,下面是/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 multiusermode# 4-unused# 5-xll# 6-reboot(donotset
3、initdefault to this)上血这段信息列出了 linux系统的7个运行等级:0-关机模式, 1 -单用户模式,单川户只有系统管理员可以登录。2- 多用八模式,但是不支持文件共享,例如不支持nfs服务.这种模式不常用。3- 完全的多用户模式,支持nfs服务.最常川的用户模式,默认登录到系统的字符界面。4- 基木不川的川户模式,可以实现某些特定的登录请求。5- 完全多用户模式,默认登录到x-window系统,也就是登录到linux图形界面。6- 重启模式,也就是执行关闭所有运行的迹程,然斤重新启动系统°这些运行级别和linux中的init程序相互对应,例如执行init 1系
4、统就进入单用户模式, 执行init 6系统将重新启动。在inittab文件屮以#开头的所有行都是注释行。注释行有助于川户理解inittab文件每项 的具体含义,inittab文件中的值都有如下格式组成:label:runlevel:action:process1. label 字段label是有广4个字符纽成的标签,用來标示输入的值。一些系统只支持2个字符的标签。鉴丁此原因,多数人都将标签字符的个数限制在2个以内。该标签可以是任意字符构成的字 符串,在red hat linux中使用的标签有:威字段值卩表示含义2idp用来定义缺省init程序运行级别。卜加n从16,指明该进程可以使用的系统运行
5、级别。指定当按下砂雌以1 时运行的进程。2指定是系统初始化进程。a指定是升级进程。apf2当ups监控软件通知电源被切断时运行的进程。aprv在真正关闭系统之前,ups监控软件发出电源恢复信号时要运行的进程。x1是将系统转入x-window桌面时需要运行的进程。卩2. run level 字段runlevel字段指定系统的运行级別。可以指定多个运行级别,也可以不为runlevel字段指 定特定的值。3. process 字段process字段包含了 init执行的进程,也就是init程序具体要执行的命令,该进程采用的 格式为在命令行下运行该进程的格式一样,因此process字段都以该进程的名字
6、开头,后血 是运行时要传递给该进程的参数。比如/sbin/shutdown -t3 -r now。4. action 字段action字段定义了:当系统进入相应的运行级别后,init程序应该以何种方式运行process字段对应的命令,action字段常用的值如下表所示:宁段值3表示的含义aon ceain it程序只需运行这个进程一次。3waitin it程序运行此进程一次,并等待运行结束才进入下一步操作。aboo2随系统启动运行,因此.氏口炽乂坦員対,此羞数无效。a随系统启动运行,但是init程序等待进程 runlevle参数也无效。ajnjtd.e.faul系统启动后的默认运行级,如果/e
7、tc/inittab中不存在1 比条记录,系统启动 时后在控制台上询问要进入的运行级。2系统启动时准备运行的命令在运行boot或加之前运行。are._sp.awi!.43保证一直处于运行状态的进程,如果该进程终止,则重新启动该进程。3ctdd.lt.d.ew当ctrltalt+dele个键同时按下时运行process宁段指定的值。3off不运行该进程。2ro.wer.w.ait*3允ft init程序在电源被切断时,关闭系统,前提是有ups和相应通知init程序电源已被切断的软件。a与映畑磁一样,但是init程序不会等待运行的进程结束才关闭系统¥pq能磁能0当电源监控软件通知.:电源
8、皈复:时,init程序要执行的操作。ap,qyyzqrfmn.q.vy.p监测到ups电源耗尽即将耗尽时,泊it程序要执行的操作。3明白了 inittab文件的格式以后,我们就知道每项的含义了,接着看/etc/inittab k面的 内容:id:5:initdefault:表示系统将默认启动到x-window界面下,如果我们想让系统默认开机启动到字符界面下,只需修改 id:5:initdefault :为 id: 3: ini tdefaul t:即可。# system initialization.si: sysinit :/etc/rc. d/rc. sysinit该段告诉init程序,运
9、行/etc/rc. d/rc. sysinit來进行系统初始化工作。10:0:wait:/etc/rc.d/rc 011:1:wait:/etc/rc. d/rc 112:2:wait:/etc/rc. d/rc 213:3:wait:/etc/rc. d/rc 314:4:wait:/etc/rcd/rc 415:5:wait:/etc/rc. d/rc 516:6:wait:/etc/rc. d/rc 6上面这段信息标明/etc/rc. d/rc可以运行在06各个运行级别,同时init程序等待/etc/rc. d/rc执行完毕才ilt入下一步操作。# trap ctrl-alt-delet
10、eca:ctrlaltdel:/sbin/shutdown -t3 -r now上血这段指定了当ctrl+alt+del三个键同时按下时,init程序将执行/sbin/shutdown -13 -r now,即重启系统。# when our ups tells us power has failed, assume we have a few minutes# of power left. schedule a shutdown for 2 minutes from now.# this does, of course, assume you have powerd installed and
11、 your# ups connected and working correctly.pf:powerfail:/sbin/shutdown -f -h +2 "power failure; system shutting down"上面这段信息说明了:系统电源被切断时,ups通知init程序,init程序发出powerfailure; system shutting down"信号,然后执行关机操作。# if power was restored before the shutdown kicked in, cancel it.pr: 12345: powero
12、kwa it:/sb in/shutdown - c power restored; shutdow n can celled"这段说明了:ups接到电源恢复信号后,通知init进程,然后init程序发出power restored;shutdown cancelled"信号,取消关机操作,这个过程在15运行级别上有效。# run gettys i n standard run levels1:2345:respawn:/sbin/mingetty ttyl2:2345:respawn:/sbin/minge11y tty23:2345:respawn:/sbin/ming
13、etty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:re spawn:/sb i n/mi nge 11 y tty6这段信息说明了:在25运行级别上,始终打开6个终端控制台,即使某个控制台被关闭,系统也会口动启动。# run xdm in runlevel 5x:5:respawn:/etc/xl1/prefdm - nodaemon最后这段信息表明,在x-window桌面下始终运行的进程是/etc/xll/prefdmo二系统启动过程1. 内核引导打开系统电源,开始bios
14、口检,系统按照bios里的设置启动设备(一般是硬盘启动),接 着进入linux引导程序,一般linux系统提供两种引导方式:grub和lolo,其中grub是大 多数linux系统的默认引导方式,而lilo则是根据一些特殊需求或个人再好而准备的,一 旦linux引导程序载入内存,它显示一个图形界面给用户,这个界面里包含了不同的内核选 项,川户可以通过上下键去选择不同的内核引导,当引导程序成功完成引导后,linux接管 了对cpu的控制权,接着cpu开始执行linux内核映像程序,加载内核,在预定的地方找 到initrd镜像的压缩包,对它进行解压和挂载,并载入所有必须的驱动,然厉,kernel
15、会创建root设备,以只读方式挂载root分区,并释放所有没有被使用的内存,此时,kernel 已经被装载到内存里运行起来了。但是,因为没有用户应用程序允许输入有意义的指令给系 统,所以此时的系统不能做任何爭情。2. 运行initinit进程是系统所有进程的起点,紧接上面,linux在完成核内引导以后,就开始运行init 程序,init程序需要读取配置文件/etc/inittab,而inittab是一个不可执行的文本文件, 关于这个文件,我们将在”系统运行级” 一节详细讲述。3. 系统初始化init程序启动后首先调用rc. sysinit和rc程序,rc. sysinit主要完成一些系统初始化
16、的 工作,它是系统每一个运行级别都要首先运行的重要脚本。它主耍完成的工作有:检查磁盘, 加载侦件模块,激活交换分区,以及其它一些需要优先执行任务,当rc. sysinit程序执行 完毕,引导返回到init程序。4. 启动运行级的守护进程rc. sysinit程序执行完毕,接下来,rc程序启动,rc程序主要启动系统对应运行级別的 守护进程,rc程序执行完毕,又将返回init程序继续下一步。5. 建立终端 此时系统基本环境已经设置好了,init程序接着会打开6个终端,以便用户登录。6.登录系统当我们看到mingetty的弩录界回时,我们就可以输入用户名和密码登录系统了。linux的账号验证程序是l
17、ogin,当login程序执行成功后,最后就进入了 shell终端。这样linux系统就完成了从开机到启动的整个过程。三系统关机过程在了解lirmx关机过程z前,我们先学习一下linux关机的一些常用命令,最常用的linux 关机命令有如下儿个:init , shutdown, halt, reboot等,这些命令都可以达到关机重启 的h的,但是每个命令的内部工作过程是不同的。我们通过对关机命令的讲述,详细了解 linux安全关机的过程。1. shutdown 命令使用shutdown命令可以安全的关闭linux系统,有些linux初学者会使用直接关闭电源的 方法来关闭linux,这是十分危险
18、的,因为linux与windows不同,在1 inux后台运行着很 多进稈,这些进程控制着linux对系统的各种操作,如果强制关机,对能会造成进程的混乱 以至丢失数据,如果在系统工作负荷很髙的情况下,突然断电,不但会丢失数据,其至会损 坏硬件设备。shutdown命令是用shell编写的程序,必须山超级用八才能执彳亍,shutdown命令执行后, 会以广播的形式通知正在系统中工作的所有用户,系统将在指定的吋间内关闭,请保存文件, 停止作业,注销用户;此吋login指令被冻结,新的用户不能登录;当所有的用户从系统中注 销或者指定时间已到时,shutdown就发送信号给init程序,要求init程
19、序改变系统运行 级别,接着,init程序根据shutdown指令传递过来的参数,相应的改变运行级,例如, shutdown指定的参数是关机命令的话,init程序就执行init 0进行关机,如果shutdown 指定的参数是要重启系统,那么init程序就执行init 6进行系统重启。shutdown命令的详细语法:shutdown -ffhknrc (参数名称)-1秒数时间警告信息具体各参数功能:-f重新启动时不执行fsck(注:fsck是linux下的一个检查和修复文件系统的程序,我们 会在以后章节详细讲述)。-f重新启动时执行fscko-h将系统关机,在某种程度上功能与halt命令相当。-k
20、只是送出信息给所有用户,但并不会真正关机。-n不调用init程序关机,而是山shutdown自进行(一般关机程序是山shutdown调用init 来实现关机动作),使用此参数将加快关机速度,但是不建议用户使用此种关机方式。-r shutdown z后巫新启动系统。-c取消前个shutdown命令。例如,当执行一个如“shutdown -h 15:30”的命令时,只 要按“ctrl+c ”键就可以屮断关机的命令。而执行如“ shutdown-h 15:30 & ”的命令就 将shutdown转到后台运行了,此时,就需要使jlj shutdown -c将前一个shutdown命令取 消。-1秒数送出警告信息和关机信号z间要延迟多少秒。警告信息将提醒用八保存当前进行 的工作。时间设置多久时间后执行shutdown命令。时间参数冇hh: mm或+
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年聊城大学公开招聘人员(46名)考前自测高频考点模拟试题及答案详解参考
- 2025黑龙江双鸭山市饶河县招募就业见习单位及招聘见习人员668人模拟试卷及一套答案详解
- 中国广电宿迁市2025秋招行业常识50题速记
- 甘肃地区中石化2025秋招面试半结构化模拟题及答案炼化装置操作岗
- 2025北京清华附中上庄学校招聘模拟试卷附答案详解(黄金题型)
- 中国移动黄冈市2025秋招网申填写模板含开放题范文
- 临汾市中石油2025秋招面试半结构化模拟题及答案新材料与新能源岗
- 国家能源甘孜自治州2025秋招笔试逻辑推理题专练及答案
- 中国移动商丘市2025秋招供应链采购类专业追问清单及参考回答
- 2025湖南科技学院公开招聘44人模拟试卷及答案详解1套
- 2025机采棉作业合同协议书范本
- 树木学试题及答案北林
- 财政补贴政策在促进农村电商发展的扶持效果可行性分析报告
- 《创伤失血性休克中国急诊专家共识(2023)》解读 2
- 2025第三季度作风建设党课以忠诚廉洁担当的政治品格奋力书写高质量发展新答卷
- 项目部领导带班记录
- 乳腺癌骨转移护理查房课件
- 新视野大学英语1读写教程-Unit1-Fresh-Start-课件
- 客户信息登记表
- 不合格品处置记录表(标准版)
- 文体与翻译公文文体科技文体
评论
0/150
提交评论