Linux系列:Linux 的启动流程_用户登录

  1. 第一步、加载内核
  2. 第二步、启动初始化进程
  3. 第三步、确定运行级别
  4. 第四步、加载开机启动程序
  5. 第五步、用户登录
  6. 第六步、进入login shell

 

第一步、加载内核

读入 /boot 目录下的内核文件

Linux系列:Linux 的启动流程_加载_02

 

第二步、启动初始化进程

开始运行第一个程序 /sbin/init,它的作用是初始化系统环境

Linux系列:Linux 的启动流程_用户登录_03

init是第一个运行的程序,它的进程编号(pid)就是1。其他所有进程都从它衍生,都是它的子进程

 

第三步、确定运行级别

在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)

init进程的一大任务,就是去运行这些开机启动的程序。

首先读取文件 /etc/inittab,它是运行级别的设置文件

Linux系列:Linux 的启动流程_用户登录_04

第四步、加载开机启动程序

目录 /etc/init.d ,真正的启动脚本都统一放在这个目录中。init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。

Linux系列:Linux 的启动流程_加载_05

 

 

第五步、用户登录

开机启动程序加载完毕以后,就要让用户登录了。

       (1)命令行登录:读入 /etc/profile、~/.bash_profile、~/.bash_login、~/.profile

  (2)ssh登录:     读入 /etc/profile、~/.bash_profile、~/.bash_login、~/.profile

  (3)图形界面登录:只加载 /etc/profile 和 ~/.profile

Linux系列:Linux 的启动流程_初始化_06

第六步、进入login shell.

用户登录时打开的shell,就叫做login shell。

Linux系列:Linux 的启动流程_初始化_07