您的位置:首页 > 其它

引导过程和服务控制

2013-11-26 09:55 183 查看
引导过程和服务控制一,Linux的引导过程
(1),引导过程总览

主引导程序:446B
开机自检(BIOS) MBR引导(0柱面、0扇区)512字节分区表:64B
标志:2B

判断分区表是否有分区

标志标志没问题就去找“主引导程序”,主引导程序就会看配置文件 GRUB菜单

GRUB(/boot/grub/grub.conf)加载内核(kernel),内核加载完后就去找

执行/etc/rc.d/rc.sysinit脚本

INIT进程读取/etc/inittab配置文件执行/etc/rc.d/rc脚本启动mingetty进程

用户登录(完成)
1,开机自检
・主机开机以后,将根据主板BIOS(Basic Input Output System,基本输入输出系统)中的设置对CPU,内存,显卡,键盘等设备进行初步检测。・检测成功后,根据预设的启动顺序移交系统控制权,大多数时候会移交给硬盘。2MBR引导
・当从硬盘中启动系统时,首先根据硬盘第1个扇区中MBR(Master Boot Record)主引导记录的位置,将系统控制权传递给包含操作系统引导文件的分区。
・或者直接根据MBR记录中的引导信息调用启动MBR菜单。
3GRUB菜单
・GRUB算是使用最为广泛多的系统引导器程序。
・系统控制权递给GRUB后,将会显示启动菜单提供给用户选择,并根据所选项加载Linux内核文件。
4,加载Linux内核
・Linux内核是一个预先编译好的特殊的二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。
・内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。
5,INIT进程初始化
・Linux内核首先将系统中的“/sbin/init”程序加载到内存中运行。
・init进程负责完成一系列的系统初始化过程
①读取配置文件“/etc/inittab”②根据配置内容首先执行初始化脚本文件“/etc/rc.d/rc.sysinit”③通过脚本文件“/etc/rc.d/rc”控制应该启动哪些程序和服务④最后运行终端程序“/sbin/mingetty”⑤等待用户进行登录“/bin/login”⑥对程序负责验证(2),系统初始化进程及文件
1,init进程
・/sbin/init:是内核第一个加载的程序,对应的PID号总是为“1”。
・init进程是所有进程的父进程,因此,init进程是不允许被轻易终止的。
2,inittab配置文件
Inittab文件位于/etc/目录中,是init程序的配置文件
如:x : 5 : respawn : /etc/xll/prefdm -nodaemon




Id : runlevels : action : process
↓↓↓↓
标记运行级别动作类型程序或脚本

【id-标记字段】
#由1-4字符组成,用于区别其他行的配置
#每条配置记录的id标记应是唯一的,不要出现多个配置记录使用相同的id
【runlevels-运行级别字段】


0:关机状态,使用该级别时将会关闭主机。
1:单用户模式,不需要密码验证即可登录系统,多用于系统维户。
2:字符界面的多用户模式,不支持访问网络
3:字符界面的完整多用户模式,大多数服务器主机运行在些级别。
4:未分配使用。
5:图形界面的多用户模式,提供了图形桌面操作环境。
6:重新启动,使用该级别时会重启主机。
【action-动作类型字段】


Initdefault:设置初始化系统后默认进入的运行级别。
Sysinit:设置系统初始化的操作脚本。
Wait:init进程等待该行配置所对应的脚本操作完成后,在继续执行其他操作
Ctrlaltdel:设置当前用户按下ctrl+alt+delete组合键后的操作
Powerfail:设置当系统收到断电信号时采用何种动作
Powerokwait:设置当系统收到恢复供电信号时采取何种动作
Respawn:一旦该行配置所对应的进程补终止,则重新启动该进程
【process-程序或脚本字段】
3,rc.sysinit脚本文件
#rc.sysint是init进程所调用的系统初始化脚本,位于/etc/rc.d目录下
#此脚本程序主要完成:设置网络、主机名、加载文件系统、设置时钟、检测文件
4,rc脚本文件
#rc脚本同样由init进程进行调用,文件位于“/etc/rc.d/rc”
#rc脚本通过使用不同的级别参数,分别加载及终不同的系统服务
#/etc/rc.d/rcX.d/目录中的链接文件具有以下规律:
・文件名以K或S开头,中间是数字序号、最后是系统中的服务脚本名
・链接的原始服务脚本位于:“/etc/rc.d/init.d”目录中
・“S”表示启动对应的服务、“K”表示终止对应的服务
5,rc.local脚本文件
#rc.local脚本是一个额外的启动控制文件,位于“/etc/rc.d/rclocal”中
#rc.local脚本用于管理员自行设置开机启动任务
#在rc.local文件末尾添加一行“/sbin/hwclocal --hctosys”的执行语句,可以使Linux在每次启动后根据BIOS中的时钟自动校对系统时间
二,服务控制及优化启动过程
(1),系统服务控制
格式:service 服务名称控制类型
/etc/rc.d/init.d/服务名称控制类型

控制类型:start/启动、stop/停止、restart/重启、reload/重载、status/查看
(2),切换运行级别
runlevel /查看系统的运行级别
init 0-6 /切换系统的运行级别
(3),优化启运过程
ntsysv --level /打开ntsysv管理程序
chkconfig --level 运行级别服务名称 on/off /设置系统服务的启动状态
chkconfig --list 服务名称 /查看指定的系统服务

本文出自 “学习,技术,交流” 博客,请务必保留此出处http://haigou1995.blog.51cto.com/6074347/1331496
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: