内核同步机制与并发控制实战

📚 共计 30 章节
第01章
并发与竞态
并发与竞态的基本概念、并发产生的原因、内核中的并发场景、保护临界区的原则。
基础核心概念
第02章
原子操作
原子操作的概念、原子整型操作 API、原子位操作 API、原子操作实战案例。
原子API
第03章
自旋锁
自旋锁的工作原理、自旋锁的 API、使用场景与注意事项、实战案例。
自旋锁同步
第04章
读写锁
读写锁的概念与原理、读写锁的 API、与自旋锁对比、实战案例。
读写锁并发
第05章
顺序锁
顺序锁的概念与原理、顺序锁的 API、适用场景、实战案例。
顺序锁轻量
第06章
RCU 机制
RCU 的基本原理、核心 API、与读写锁对比、实战案例。
RCU无锁
第07章
信号量
信号量的概念与原理、内核信号量的 API、与自旋锁对比、实战案例。
信号量睡眠
第08章
互斥锁
互斥锁的概念与原理、互斥锁的 API、与信号量对比、实战案例。
互斥锁排他
第09章
完成量
完成量的概念与原理、完成量的 API、使用场景、实战案例。
完成量同步
第10章
等待队列
等待队列的概念与原理、核心 API、工作机制、实战案例。
等待队列阻塞
第11章
工作队列
工作队列的概念与原理、API、与 tasklet 对比、实战案例。
工作队列线程
第12章
tasklet
tasklet 的概念与原理、API、使用场景、实战案例。
tasklet下半部
第13章
软中断
软中断的概念与原理、注册与使用、注意事项、实战案例。
软中断内核
第14章
中断下半部机制
中断上下文的限制、下半部机制选择策略、各种下半部机制对比总结。
下半部中断
第15章
per-CPU 变量
per-CPU 变量的概念与优势、API、使用场景、实战案例。
per-CPU性能
第16章
内存屏障
内存屏障的概念与必要性、各种内存屏障指令、使用场景、实战案例。
内存屏障排序
第17章
顺序锁与 RCU 深入
顺序锁与 RCU 的底层实现分析、性能对比测试、选择建议。
进阶对比
第18章
死锁与锁调试
死锁的概念与产生条件、预防与避免、内核锁调试工具 (lockdep)、案例分析。
死锁lockdep
第19章
内核并发编程最佳实践
锁的粒度控制、锁的顺序规范、并发性能优化技巧、常见并发 Bug 模式。
最佳实践规范
第20章
并发控制综合实战(一)
项目需求分析、并发控制方案设计、代码框架搭建。
实战项目
第21章
并发控制综合实战(二)
核心数据结构设计、锁机制选择与实现、功能模块编码。
实战编码
第22章
并发控制综合实战(三)
中断处理与下半部实现、等待队列与完成量应用、功能联调。
实战联调
第23章
并发控制综合实战(四)
性能测试与调优、死锁检测与修复、项目总结与文档编写。
实战调优
第24章
Linux 内核锁机制演进
内核锁机制的演变历史、不同版本内核的锁特性、未来发展趋势。
演进历史
第25章
用户态并发编程对比
用户态线程与进程并发、用户态锁机制 (futex、mutex)、用户态与内核态异同。
用户态对比
第26章
SMP 系统与 NUMA 架构下的并发
SMP 与 NUMA 架构简介、NUMA 感知的锁设计、跨 CPU 缓存一致性影响。
SMPNUMA
第27章
实时内核与并发控制
PREEMPT_RT 补丁简介、实时内核下的锁机制变化、实时并发编程注意事项。
实时PREEMPT_RT
第28章
并发性能分析工具
perf 工具的使用、lockstat 锁统计、ftrace 追踪锁行为、性能瓶颈分析。
perflockstat
第29章
内核并发安全编程规范
内核编码风格中的并发相关规范、代码审查要点、并发安全 checklist。
规范checklist
第30章
课程总结与展望
核心知识点回顾、学习路径建议、推荐阅读资料与社区资源。
总结展望