linux启动过程

启动5大阶段:

1.内核引导
2.运行init
3.系统初始化
4.建立终端
5.用户登录

内核引导
当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。

操作系统—>/boot—>

运行init
内核被加载后,第一个运行的程序便是/sbin/init,init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。init进程会读取/etc/inittab文件,并依据此文件来进行初始化工作。(关于inittab文件后续说明)

操作系统—>/boot—>init进程—>

系统初始化
相关文件:
1./etc/rc.d/rc.sysinit
rc.sysinit是由init执行的第一个脚本,它主要完成一些系统初始化的工作。rc.sysinit是每一个运行级别都要首先运行的重要脚本,它主要完成的工作有:激活交换分区、检查磁盘、加载硬件模块以及其他一些需要优先执行的任务。/etc/rc.d/ rc.sysinit主要完成各个运行模式中相同的初始化工作。

2./etc/rc.d/rcX.d/
在rc.sysinit执行后,将返回init程序,继续执行/etc/rc.d/rc程序。(根据inittab文件)

3./etc/ec.d/rc.local
rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。可以在这里加上在开机启动后要执行的命令等。。。

操作系统—>/boot—>init进程—>系统初始化—>

建立终端
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。在inittab定义终端,定义后将会按照定义方式(如respawn方式)运行mingetty程序,mingetty程序能打开终端、设置模式。同时它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份。

操作系统—>/boot—>init进程—>系统初始化—>建立终端—>

用户登录
执行/bin/login程序,login程序会提示使用者输入账号及密码,接着编码并确认密码的正确性,如果账号与密码相符,则为使用者初始化环境,并将控制权交给shell,即等待用户登录。

login会接收mingetty传来的用户名作为用户名参数,然后login会对用户名进行分析。如果用户名不是root,且存在/etc/nologin文件,login将输出nologin文件的内容,然后退出。这通常用来在系统维护时防止非root用户登录。只有在/etc/securetty中登记了的终端才允许root用户登录,如果不存在这个文件,则root可以在任何终端上登录。/etc/usertty文件用于对用户作出附加访问限制,如果不存在这个文件,则没有其他限制。

在分析完用户名后,login将搜索/etc/passwd以及/etc/shadow来验证密码以及设置账户的其他信息,比如:主目录什么、使用何种shell。如果没有指定主目录,则将主目录默认设置为根目录;如果没有指定shell,则将shell类型默认设置为/bin/bash。

Login程序成功后,会向对应的终端再输出最近一次登录的信息(在/var/log/lostlog中有记录),并检查用户是否有新邮件(在/usr/spool/mail的对应用户名目录下),然后开始设置各种环境变量。对于bash来说,系统首先寻找/etc/profile脚本文件并执行它;然后如果用户的主目录中存在.bash_profile文件,就执行它,在这些文件中又可能调用了其他配置文件,所有的配置文件执行后,各种环境变量也设好了,这时会出现大家熟悉的命令行提示符,至此整个启动过程就结束了。

操作系统—>/boot—>init进程—>系统初始化—>建立终端—>用户登录—>结束

阅读更多
个人分类: linux
上一篇linux系统目录结构
下一篇利用xShell实现windows与虚拟机的文件交换
想对作者说点什么? 我来说一句

Linux启动过程综述

2011年01月26日 121KB 下载

linux启动过程PDF

2009年08月10日 136KB 下载

linux系统启动过程

2018年07月02日 1.64MB 下载

Linux启动过程综述详解

2010年12月20日 14KB 下载

Linux的服务与进程管理

2016年02月21日 263KB 下载

Linux启动过程

2014年12月18日 90KB 下载

没有更多推荐了,返回首页

关闭
关闭