引导过程和服务控制

引导过程和服务控制

一,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,开机自检

主机开机以后,将根据主板BIOSBasic Input  Output  System,基本输入输出系统)中的设置对CPU,内存,显卡,键盘等设备进行初步检测。

检测成功后,根据预设的启动顺序移交系统控制权,大多数时候会移交给硬盘。

2MBR引导

当从硬盘中启动系统时,首先根据硬盘第1个扇区中MBRMaster  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),系统初始化进程及文件

1init进程

・/sbin/init:是内核第一个加载的程序,对应的PID号总是为“1”。

・init进程是所有进程的父进程,因此,init进程是不允许被轻易终止的。

2,inittab配置文件

   Inittab文件位于/etc/目录中,是init程序的配置文件

如:x : 5 : respawn : /etc/xll/prefdm  -nodaemon


spacer.gifspacer.gifId  : runlevels  :  action :  process

↓↓↓↓

标记运行级别动作类型程序或脚本


【id-标记字段】

#1-4字符组成,用于区别其他行的配置

                  #每条配置记录的id标记应是唯一的,不要出现多个配置记录使用相同的id

【runlevels-运行级别字段】

spacer.gif       0:关机状态,使用该级别时将会关闭主机。

      1:单用户模式,不需要密码验证即可登录系统,多用于系统维户。

      2:字符界面的多用户模式,不支持访问网络

      3:字符界面的完整多用户模式,大多数服务器主机运行在些级别。

      4:未分配使用。

      5:图形界面的多用户模式,提供了图形桌面操作环境。

      6:重新启动,使用该级别时会重启主机。

【action-动作类型字段】

spacer.gif       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  服务名称               /查看指定的系统服务









你可能感兴趣的:(linux,操作系统,程序,配置文件,用户登录)