操作系统笔记:从进程到协程

1114 字
6 分钟
操作系统笔记:从进程到协程

操作系统笔记:从进程到协程#

面向游戏客户端开发岗的操作系统深入笔记系列。每章覆盖:原理图解 → 底层剖析 → 面试高频题 → 🎮 游戏实战 → 30 秒速答。


系列全景#

graph LR Ch1["Ch1 进程与线程\n★★★★★"] Ch2["Ch2 同步互斥\n★★★★★"] Ch3["Ch3 内存管理\n★★★★★"] Ch4["Ch4 CPU 缓存\n★★★★★"] Ch5["Ch5 进程调度\n★★★★☆"] Ch6["Ch6 进程间通信\n★★★★☆"] Ch7["Ch7 文件与 I/O\n★★★☆☆"] Ch8["Ch8 协程\n★★★★☆"] Ch9["Ch9 调试与性能\n★★★★☆"] Ch1 --> Ch2 --> Ch3 --> Ch4 Ch4 --> Ch5 Ch2 --> Ch6 Ch6 --> Ch7 Ch1 --> Ch8 Ch5 --> Ch9 style Ch1 fill:#d00000,stroke:#e85d04,color:white style Ch2 fill:#d00000,stroke:#e85d04,color:white style Ch3 fill:#d00000,stroke:#e85d04,color:white style Ch4 fill:#d00000,stroke:#e85d04,color:white style Ch5 fill:#e85d04,stroke:#f48c06,color:white style Ch6 fill:#e85d04,stroke:#f48c06,color:white style Ch7 fill:#2d6a4f,stroke:#40916c,color:white style Ch8 fill:#e85d04,stroke:#f48c06,color:white style Ch9 fill:#e85d04,stroke:#f48c06,color:white

各章速览#

章节主题面试权重核心考点
第一章进程与线程★★★★★fork/COW、PCB、上下文切换、线程模型、线程池
第二章进程同步与互斥★★★★★竞态条件、死锁、CAS/futex、信号量、读写锁、无锁队列
第三章内存管理★★★★★虚拟内存、多级页表、TLB、页面置换、mmap、自定义分配器
第四章CPU 缓存与性能优化★★★★★Cache Line、MESI 协议、伪共享、分支预测、ECS 缓存优势
第五章进程调度★★★★☆FCFS/SJF/RR/MLFQ、CFS/vruntime、优先级反转、游戏主循环
第六章进程间通信★★★★☆管道、消息队列、共享内存、信号、Unix Socket、多进程架构
第七章文件系统与 I/O★★★☆☆inode/dentry/fd、epoll/io_uring、零拷贝、PAK 虚拟文件系统
第八章协程★★★★☆有栈/无栈协程、C++20 co_await/co_yield、协程帧、UE5 Latent Action
第九章调试与性能分析★★★★☆strace/gdb/perf/火焰图、valgrind/ASan、帧时间分析、内存追踪

推荐阅读路线#

🚀 面试急救(3 天)#

时间紧迫?按面试权重从高到低刷:

Day 1: Ch1 进程与线程 → Ch2 同步互斥 → Ch3 内存管理
Day 2: Ch4 CPU 缓存 → Ch5 进程调度
Day 3: Ch8 协程 → Ch9 调试与性能分析(9.3~9.4 重点工具)

📚 系统掌握(2 周)#

每天 1 小时,按章节顺序 Ch1→Ch9 完整阅读 + 手写代码验证。

Week 1: Ch1 → Ch2 → Ch3 → Ch4
Week 2: Ch5 → Ch6 → Ch7 → Ch8 → Ch9

🎮 游戏开发重点#

已有 OS 基础?重点看游戏实战场景:

  • 引擎架构:Ch1 多线程架构/线程池、Ch6 多进程编辑器通信
  • 同步与性能:Ch2 无锁队列/双缓冲、Ch4 伪共享/分支预测/ECS
  • 内存管理:Ch3 自定义分配器/流式加载、Ch7 资源打包 VFS
  • 异步编程:Ch7 io_uring 异步加载、Ch8 UE5 Latent Action/行为树协程化
  • 调试调优:Ch9 内存泄漏追踪/帧时间分析/perf c2c 伪共享检测

系列特色#

  • 🧠 面试导向:每章的”30 秒速答”可直接用于面试口述,覆盖大厂高频考点
  • 🎮 游戏实战:所有示例围绕游戏引擎、物理引擎、AI 系统、异步加载
  • 📊 图解原理:Mermaid 图解进程状态、MESI 协议、I/O 模型、调度甘特图
  • 🛠 工具实战:Ch9 覆盖完整的调试与性能分析工具链(gdb/perf/strace/火焰图)
  • 🔗 交叉引用:深度关联 C++ 深入笔记、数据结构笔记系列

与其他系列的交叉引用#

操作系统章节交叉引用
Ch1 进程与线程C++ Ch7 — std::thread、线程池
Ch2 同步互斥C++ Ch7 — atomic、condition_variable
Ch3 内存管理C++ Ch1 — Pool/Frame Allocator、new/delete
Ch4 CPU 缓存C++ Ch1 — SoA vs AoS、SIMD
Ch5 进程调度→ 游戏引擎 Ch1 — Game Loop(待发布)
Ch6 进程间通信网络 Ch5 — Socket 编程
Ch7 文件 I/OC++ Ch1 — placement new、内存映射
Ch8 协程C++ Ch8 — C++20 协程
Ch9 调试C++ Ch1 — 内存泄漏排查

面试覆盖矩阵#

进程管理 内存管理 并发同步 性能优化 调试排错
Ch1 进程与线程 ●●● ●● ●● ● -
Ch2 同步互斥 ●● - ●●● ●● -
Ch3 内存管理 ● ●●● - ●●● ●
Ch4 CPU 缓存 - ●● ●●● ●●● ●
Ch5 进程调度 ●●● - ●● ●● -
Ch6 进程间通信 ●● - - ●● -
Ch7 文件与 I/O ● ● - ●● ●
Ch8 协程 ● - ●● ●● -
Ch9 调试与性能 ● ●● ●● ●●● ●●●

📖 本系列定位:大厂游戏客户端开发岗面试备战。与 C++ 深入笔记 互补——C++ 系列侧重语言机制的底层实现,操作系统系列侧重系统资源的调度与管理。两个系列合在一起,覆盖游戏客户端面试 80% 以上的技术深度题。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

操作系统笔记:从进程到协程
https://firefly-7a0.pages.dev/posts/os/
作者
lonelystar
发布于
2026-04-27
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
C++ 面试突击:从语法到底层
C++深入笔记 **面试突击系列 · 全景导航。** 8 章内容覆盖 C++ 内存模型、智能指针、OOP 多态、移动语义、模板泛型、编译链接、并发多线程与现代 C++ 特性——面向游戏客户端开发岗,从原理剖析到游戏实战,从经典陷阱到 30 秒速答。
2
计算机网络面试突击:从协议到实战
计算机网络笔记 **面试突击系列 · 全景导航。** 7 章内容覆盖网络分层模型、TCP 深入、UDP 与可靠 UDP(KCP)、HTTP/HTTPS、Socket 编程与 IO 模型、DNS/NAT/CDN、游戏网络同步(帧同步/状态同步)——面向游戏客户端开发岗与计网课程考试。
3
第一章 进程与线程
操作系统笔记 **面试突击 · 进程与线程。** 从进程地址空间到 PCB,从 fork/COW 到线程模型,从上下文切换的硬件细节到协程的本质——再到游戏引擎的多线程架构与 Job System,一文吃透操作系统最核心的概念。
4
设计模式:从 SOLID 到游戏架构
设计模式笔记 **游戏客户端开发 · 设计模式全景导航。** 6 章覆盖设计原则与 SOLID、创建型、行为型(上/下)、结构型与游戏架构模式——面向游戏客户端开发岗,从场景问题出发,到模式结构与实现,再到游戏实战。
5
算法面试突击:从排序到动态规划
算法笔记 **面试突击系列 · 算法全景导航。** 9 章覆盖排序、二分、动态规划(基础+进阶)、贪心、回溯搜索、数学、位运算与字符串算法——面向游戏客户端开发岗,从原理图解到缓存友好性,从高频面试题到游戏实战。
随机文章 随机推荐

评论区

Profile Image of the Author
LonelyStar
Hello, I'm LonelyStar.
公告
欢迎来到我的博客!
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
119
分类
11
标签
346
总字数
226,548
运行时长
0
最后活动
0 天前

目录