分类: 技术文章 |
一.启动过程概述。
》当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,读取硬盘MBR中的启动引导器程序,并进行加载。
》启动引导器程序负责引导硬盘中的操作系统,并根据用户的选择引导相应的操作系统启动,对于linux操作系统,启动引导器直接加载linux内核程序。
》linux内核进行硬件的初始化操作,并在屏幕上显示相应的信息,完成后,进一步加载init进程。
》INIT进程是linux系统中运行的第一个进程,根据配置文件的设置/etc/inittab,该进程调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初始化和运行服务的任务后,返回init。
》启动过程的最后运行/dev/mingetty,提示并允许用户输入帐号和口令进行登陆,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。
启动过程的图示看下面的图片。
二.INIT进程。
1.INIT进程是linux内核引导运行的,是系统中运行的第一个进程,是所有进程的父进程,其PID永远为1。
如下所示:
[linux-fox@FC4 ~]$ ps -ef|head
UID
root
root
root
root
root
root
root
root
root
2.INIT进程的配置文件:
INIT进程的配置文件路径为:/etc/inittab,内容如下所示:
[linux-fox@FC4 ~]$ more /etc/inittab
#
# inittab
#
#
# Author:
#
#
# Default runlevel. The runlevels used by RHS are:
#
#
#
#
#
#
#
#
id:5:initdefault:
# System initialization.
si::sysinit:/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
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a few minutes
# of power left.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5
x:5:once:/etc/X11/prefdm -nodaemon
INIT配置文件的格式如下:
id:runlevels:action:process
》id用于标识一个字段。
》runlevels指定该记录的运行级别。
# Default runlevel. The runlevels used by RHS are:
#
#