linux系统启动过程详解(linux启动过程详细过程)

时间:2023-05-13 22:31:58

作者:admin

来源:系统大师

linux系统启动过程详解(linux启动过程详细过程)

Linux启动过程是一个复杂的过程,可以大致分为以下几个阶段:

▶BIOS 自检阶段:当计算机开机后,BIOS 会先进行自检,检测硬件是否正常。

▶bootloader 引导阶段:当 BIOS 检测完硬件后,会根据预设顺序找到存储介质(如硬盘、U 盘等)上的 bootloader,然后将控制权转移到 bootloader 程序中。

▶内核加载阶段:bootloader 程序将内核文件从硬盘中读取到内存中,并将控制权交给内核。内核开始初始化系统硬件和设备驱动程序,并创建用户空间进程的初始环境。

▶用户空间初始化阶段:当内核完成初始化后,会启动 init 系统进程。init 进程是所有用户进程的祖先进程,负责启动其他用户进程和服务。

▶系统服务启动阶段:init 进程启动后,会根据配置文件(如/etc/inittab, /etc/init.d/)启动各种系统服务,例如网络服务、日志服务、安全服务等。

▶用户登录阶段:当系统服务启动完成后,init 进程会启动 getty 进程,等待用户登录。getty 进程会提示用户输入用户名和密码,验证通过后,用户便可以进入命令行或图形界面环境。

■Linux 启动过程的结构图描述

+------------------+ | Power On | +------------------+ | BIOS Self-Test Bootloader Program Kernel User-space Init System Services User Login User Processes 在 Linux 启动过程中,每个阶段都有各自的任务和目标,相互配合,最终使得系统能够顺利地启动并对用户提供服务。

以下是更详细的 Linux 启动过程:

★BIOS 自检阶段:当计算机开机后,CPU 会执行 ROM 中的 BIOS 程序。BIOS 进行 POST(Power On Self Test)自检,测试硬件是否正常,如内存、硬盘、显示器等,并将信息输出到屏幕上。

★bootloader 引导阶段:当 BIOS 完成自检后,它会根据预设顺序找到存储介质(如硬盘、U 盘等)上的 bootloader 程序。常见的 bootloader 程序有 GRUB 和 LILO 等。bootloader 会从硬盘上读取内核镜像文件,并将控制权转移到内核中。

★内核加载阶段:内核开始初始化系统硬件和设备驱动程序。在这个阶段,内核基本上只使用 IRQ0 和根文件系统,不运行任何用户级别的进程。内核也会寻找 initramfs/initrd,如果存在的话,会把它们挂载在/dev/loop 上。最后,内核会通过执行/sbin/init 来启动 init 进程。

★用户空间初始化阶段:init 进程是所有用户进程的祖先进程,负责启动其他用户进程和服务。在这个阶段,init 进程会首先执行一些脚本文件,例如/etc/rc.sysinit,用于设置主机名、检查硬件、加载模块、安装网络等。然后,init 进程会将控制权转移到一个特定的运行级别(runlevel),根据不同的运行级别,会执行相应的脚本文件,例如/etc/rc3.d/目录下的脚本用于启动图形界面。

★系统服务启动阶段:当 init 进程完成用户空间初始化后,会根据配置文件(如/etc/inittab, /etc/init.d/)启动各种系统服务,例如网络服务、日志服务、安全服务等。这些服务都是由特定的进程或守护进程(daemon)来提供的,会一直在后台运行,直到系统关闭或者手动停止。

★用户登录阶段:当系统服务启动完成后,init 进程会启动 getty 进程,等待用户登录。getty 进程会提示用户输入用户名和密码,验证通过后,用户便可以进入命令行或图形界面环境。

★用户进程启动阶段:当用户登录后,系统会启动相应的用户级别进程,例如 shell、文本编辑器、浏览器等。这些进程都是由用户自己启动的,与系统服务无关。

这就是 Linux 启动过程的详细描述。每个阶段都有各自的任务和目标,相互配合,最终使得系统能够顺利地启动并对用户提供服务。

大家都在看

电脑教程专题 更多+

提取码
XGZS
关闭 前往下载