Linux 学习Linux

Linux 启动过程

2020-10-13  本文已影响0人  songhuyi

1,内核引导

bios开机自检,按照其上设置的启动设备来启动,启动设备上的grub程序开始引导linux.linux接管了cpu,cpu开始执行linux的核心映像代码,开始了linux的开启过程,即内核引导。最后,内核加载了init程序,至此,内核引导已完成。将进行init进程。

2,运行init

init进程是linux所有进程的起点。init首先读取配置文件/etc/inittab。接下来就inittab对init进程进行详细介绍:

初始化,

si::sysinit:/etc/rc.d/rc.sysinit,调用/etc/rc.d/rc.sysinit,此脚本主要完成一些系统初始化的工作,比如激活交换分区,检查磁盘,加载硬件模块等等。

具体级别对应的初始化

l5:5:wait:/etc/rc.d/rc 5

表示以5为参数运行/etc/rc.d/rc5.d/目录下的所有rc启动脚本。这些文件实际都是一些连接文件,实际的rc启动脚本都在/etc/rc.d/init.d/目录下。/etc/rc.d/rc5.d/目录下的rc启动脚本通常是由K或S打头,由K打头的连接,则首先以stop为参数停止这些守护进程,然后在重新运行。这样就保证了init进程执行后,所有的相关守护进程都将重启。(用户可以通过chkconfigsetup中的"System Services"来自行设定每个运行级别中将运行那些守护进程)

建立终端

rc执行完后,基本系统环境设置好了,相关的守护进程也启动了。init接下来打开6个终端。

       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

可见,2345都是以respawn来运行mingetty。

用户登录

Linux的账号验证程序是login,login接受从mingetty传来的用户名,进行分析。如果不是root,且有/etc/nologin文件,login将输出/etc/nologin文件中的内容,然后退出。

只有/etc/securetty中登记了的终端才允许root用户登录,若没有这个文件,root可以在任意终端上登录。

/etc/usertty文件用于对用户作出附加访问限制,如果不存在这个文件,则没有其他限制。

在分析完后,login将搜索/etc/passwd以及/etc/shadow来验证密码以及设置账户的其它信息。

login程序成功后,会向对应的终端在输出最近一次登录的信息(在/var/log/lastlog中有记录)。对于bash来说,系统首先寻找/etc/profile脚本文件,并执行它;然后如果用户的主目录中存在.bash_profile文件,就执行它。所有配置文件执行完毕后,各种环境变量也设置好了后,就会出现命令提示符。到此,整个启动过程就结束了。

3,正确关机

sysnc》shutdown》reboot》halt

sysnc:将内存里的内容写入磁盘。

shutdown -h 10 :十分钟后关机

shutdown -r 10:十分钟后重启

上一篇下一篇

猜你喜欢

热点阅读