操作系统笔记:从进程到协程
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 → Ch4Week 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/O | → C++ 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/ 相关文章 智能推荐
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 章覆盖排序、二分、动态规划(基础+进阶)、贪心、回溯搜索、数学、位运算与字符串算法——面向游戏客户端开发岗,从原理图解到缓存友好性,从高频面试题到游戏实战。
随机文章 随机推荐