Linux运行过程,linux启动过程

linux的启动过程如下:

第一步检查硬件是否正确,第二步读取硬盘引导区,第三步载入内核,第四步启动init文件中的相关进程,第五步读取系统配置

4d60e61c1d1060e7a76b572fb9dfcf35.png

这个过程可能比较抽象,我们可以打个比方来理解,以基于mvc的thinkphp框架为例,上面

第一步相当于:检查系统硬件是否正确

第二步相当于:启动webserver服务器,并自动找到首页(index.php或其它)

第三步相当于:载入thinkphp框架类文件

第四步相当于:运行thinkphp框架并new()一个thinkphp类

第五步相当于:读取config.php配置,并最终display(),显示页面效果;

这个比如可能不太恰当,但是可以方便理解

下面这图过程更详细一些:

964c24e59aff91364fdc1583f0f543e8.png

/etc/profile 里面是全局环境配置

/home/用户名/.bashe_profice是当前登录用户的环境配置

[root@localhost hurong]# ls -al

total 18080

drwx------. 29 hurong hurong     4096 Feb 27 03:49 .

drwxr-xr-x.  3 root   root       4096 Feb 25 13:02 ..

-rw-------.  1 hurong hurong      593 Feb 27 05:22 .bash_history

-rw-r--r--.  1 hurong hurong       18 Feb 21  2013 .bash_logout

-rw-r--r--.  1 hurong hurong      176 Feb 21  2013 .bash_profile

有兴趣的可以打开这些配置文件看看,里面都是用shell编写的程序,在不了解的情况下不要轻易修改,否则可能出大问题;

打开.bash_profile看看:

[root@localhost hurong]# cat /home/hurong/.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

[root@localhost hurong]#

第二步grub的配置可以用 vi /etc/grub.conf查看:

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE:  You have a /boot partition.  This means that

#          all kernel and initrd paths are relative to /boot/, eg.

#          root (hd0,0)

#          kernel /vmlinuz-version ro root=/dev/sda2

#          initrd /initrd-[generic-]version.img

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title centos (2.6.32-71.el6.i686)

root (hd0,0)

kernel /vmlinuz-2.6.32-71.el6.i686 ro root=UUID=c5cb6d94-66c6-47d6-8670-ec529df6a14a rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet

initrd /initramfs-2.6.32-71.el6.i686.img

其中红色部分为内核的版本号,linuz最后一个z表示压缩包的意思,2.6.32表示版本号,2表示主版本号,6表示次版本号,32表示末版本号;其中次版本号为偶数表示正式版,为奇数表示测试版,如果要更换内核的话,下载的时候要注意。

第三步:启动init进程

6f5e6658caf51a116a2cc5c656c692df.png

第4步,可以用vi /etc/inittab查看init配置,主经用来指定运行级别;相当于windows中按启动后按f8选启动模式;

# inittab is only used by upstart for the default runlevel.

#

# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

#

# System initialization is started by /etc/init/rcS.conf

#

# Individual runlevels are started by /etc/init/rc.conf

#

# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf

#

# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,

# with configuration in /etc/sysconfig/init.

#

# For information on how to write upstart event handlers, or how

# upstart works, see init(5), init(8), and initctl(8).

#

# Default runlevel. The runlevels used 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)

#

id:5:initdefault:

0表示关机,设置成0表示启动完后就关机了

1单用户模式,类似于windows的安全模式,只有root可以登录,无图形界面,只有最小化功能

2多用户模式,无nfs(用于linux与unix之间的文件共享,很少用,安全性差),无图形界面

3多用户模式,无图形界面

4没用了,可以由用户自定义

5系统默认级别,图形化的多用户模式

6重启,设置成此项将进入无限重启状态。

查看当前运行模式:runlevel

[root@localhost hurong]# runlevel

N 5

[root@localhost hurong]#

修改运行级别:init 上面某数字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值