面试官:你来说说 Linux 是如何启动的?

开发 前端
当我们打开电源时,BIOS(基本输入/输出系统,Basic Input/Output System)或 UEFI(统一可扩展固件接口,Unified Extensible Firmware Interface)固件会从非易失性内存中加载,并执行 POST(开机自检,Power On Self Test)。

Linux 是怎么启动的?

几乎每个软件工程师都用过 Linux,但并不是每个人都知道它的启动过程。让我们深入了解一下。

下图给我们展示了具体步骤。

第 1 步

当我们打开电源时,BIOS(基本输入/输出系统,Basic Input/Output System)或 UEFI(统一可扩展固件接口,Unified Extensible Firmware Interface)固件会从非易失性内存中加载,并执行 POST(开机自检,Power On Self Test)。

第 2 步

BIOS/UEFI 检测连接到系统的设备,包括 CPU、内存和存储设备。

第 3 步

选择一个启动设备来启动操作系统。可以是硬盘、网络服务器或 CD ROM。

第 4 步

BIOS/UEFI 运行引导加载器 (GRUB),它提供了一个选择操作系统或内核功能的菜单。

第 5 步

内核准备就绪后,我们现在切换到用户空间。内核启动 systemd 作为第一个用户空间进程,负责管理进程和服务、探测所有剩余硬件、挂载文件系统并运行桌面环境。

第 6 步

系统启动时,systemd 默认激活 default.target 单元。同时还会执行其他分析单元。

第 7 步

系统运行一组启动脚本并配置环境。

第 8 步

用户将看到一个登录窗口。系统现已准备就绪。

责任编辑:武晓燕 来源: ByteByteGo
相关推荐

2024-07-26 08:10:10

2021-01-07 07:33:06

Tomcat启动工具

2021-08-03 07:51:43

React项目面试

2021-05-08 08:35:33

Webpack前端性能

2021-08-09 07:47:40

Git面试版本

2021-11-25 10:18:42

RESTfulJava互联网

2015-08-13 10:29:12

面试面试官

2020-12-01 08:47:36

Java异常开发

2020-06-12 15:50:56

options前端服务器

2020-10-05 21:46:54

线程

2024-05-11 15:11:44

系统软件部署

2021-11-02 22:04:58

模式

2020-08-17 07:40:19

消息队列

2021-05-20 08:34:03

CDN原理网络

2021-04-19 18:56:58

大数字符串运算

2021-09-29 07:24:20

场景数据

2023-12-27 18:16:39

MVCC隔离级别幻读

2021-09-28 07:12:09

测试路径

2024-05-30 08:04:20

Netty核心组件架构

2024-03-05 10:33:39

AOPSpring编程
点赞
收藏

51CTO技术栈公众号