Wrayの知识库 Wrayの知识库
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • 计算机基础
  • 操作系统原理
  • Linux
  • MacOS
  • Windows
  • 系统工程与研究专题
  • AI 基础
  • 大模型基础
  • Prompt 工程
  • RAG 检索增强生成
  • Agent 智能体
  • AI 应用开发
  • AI 工程化
  • AI 安全与治理
  • AI 面试与设计题
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
  • 操作系统概述
  • 计算机基础

  • 操作系统原理

    • 操作系统职责与内核架构
    • 进程线程与调度
    • 内存管理与虚拟内存
    • 文件系统与VFS
    • IO模型与中断
    • 权限安全与隔离
    • 启动流程与系统服务
      • 1. 学习目标
      • 2. 知识框架
      • 3. 核心概念
      • 4. 机制与实践
      • 5. 常用命令与工具
      • 6. 常见误区
      • 7. 进阶研究方向
      • 8. Tips 快问快答
      • 9. 总结
    • 性能观测与故障定位
  • Linux

  • MacOS

  • Windows

  • 系统工程与研究专题

目录

启动流程与系统服务

从按下电源到服务可用,系统经历固件、引导加载器、内核初始化、服务管理器和应用启动。理解启动流程能帮助排查无法开机、服务起不来和依赖顺序问题。

# 1. 学习目标

  • 理解 BIOS/UEFI、Bootloader、内核、init/systemd/launchd/Service Control Manager 的职责。
  • 能排查系统启动失败和服务启动失败。
  • 能设计可靠的服务自启动、依赖和恢复策略。

# 2. 知识框架

启动流程与系统服务
├─ 入门:建立术语、对象和日常操作的直觉
├─ 进阶:理解机制、边界和跨平台差异
└─ 专家:能排障、能设计、能阅读实现和研究材料

启动链路是一条依赖链:固件找到启动介质,引导器加载内核,内核初始化硬件和根文件系统,服务管理器拉起系统服务和业务进程。

# 3. 核心概念

主题 说明 工程关注
固件 BIOS 或 UEFI,完成硬件初始化并寻找启动项 启动顺序、安全启动
引导加载器 加载内核和初始内存盘 GRUB、Windows Boot Manager
服务管理器 管理后台服务生命周期 systemd、launchd、Windows SCM
健康恢复 服务异常退出后的重启、限流和告警 高可用、避免重启风暴

# 4. 机制与实践

  1. 服务配置要明确依赖、工作目录、环境变量、日志位置和重启策略。
  2. 启动失败时先看服务管理器状态,再看应用日志和系统日志。
  3. 重要服务要配置健康检查、启动超时、失败退避和告警。

# 5. 常用命令与工具

命令或工具 作用 使用建议
systemctl status service 查看 Linux systemd 服务状态 排查启动失败入口
launchctl list 查看 macOS launchd 任务 定位后台任务状态
sc query service 查看 Windows 服务状态 排查服务是否运行

# 6. 常见误区

  • 只在命令行能启动:服务环境变量、工作目录、用户权限和终端环境可能不同。
  • 失败后无限重启:重启风暴会放大故障,应设置退避和限频。
  • 忽略启动依赖:数据库、网络、磁盘挂载未就绪时业务服务可能提前失败。

# 7. 进阶研究方向

  • 阅读 systemd unit、target、journal 和依赖模型。
  • 比较 launchd plist 与 Windows 服务模型。
  • 设计一次主机重启后的服务恢复演练。

# 8. Tips 快问快答

Q:为什么手动运行正常,服务启动失败?

A:服务环境与登录 Shell 不同,常见差异包括路径、权限、环境变量和工作目录。

Q:systemd 的 restart 策略有什么风险?

A:配置不当会导致失败服务反复重启,消耗资源并干扰排障。

Q:启动问题第一步看什么?

A:先看服务管理器状态和系统日志,再看应用自己的日志。

# 9. 总结

启动和服务管理把系统从“能开机”推进到“服务可用”。理解它能让你更稳地管理守护进程、自启动、恢复和故障排查。

上次更新: 2026/06/25, 10:02:19
权限安全与隔离
性能观测与故障定位

← 权限安全与隔离 性能观测与故障定位→

Copyright © 2023-2026 Wray | 鄂ICP备2024050235号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式