⚙️ RTOS同步·互斥锁
实战30讲
🎯 友好 · 色彩活力
1
同步与互斥基础
竞态·临界区
为什么需要同步?竞态条件与临界区概念。
2
原子操作
LDREX/STREX
CPU原子指令原理,ARM Cortex-M的LDREX/STREX。
3
关中断实现互斥
临界区保护
临界区保护,中断延迟影响分析。
4
自旋锁设计
多核实现
自旋锁原理,多核场景下的实现。
5
信号量机制
P/V操作
计数信号量与二值信号量,P/V操作。
6
互斥锁设计
优先级继承
优先级继承,防止优先级反转。
7
条件变量
等待·唤醒
等待队列与唤醒机制。
8
读写锁
读者-写者
读共享写独占,读者-写者问题。
9
RCU锁
读-拷贝-更新
读-拷贝-更新机制,适用场景。
10
内存屏障
volatile
编译器屏障与CPU屏障,volatile关键字。
11
无锁编程
CAS·ABA
CAS操作,ABA问题解决。
12
死锁预防
银行家算法
死锁四条件,银行家算法。
13
优先级反转
经典问题
经典问题,优先级继承协议。
14
优先级天花板
协议对比
协议原理,与优先级继承对比。
15
等待队列
阻塞·唤醒
阻塞与唤醒机制,内核实现。
16
事件标志组
AND/OR
多事件同步,AND/OR触发。
17
消息队列
生产者-消费者
同步通信,生产者-消费者模型。
18
管道与共享内存
IPC
IPC机制,RTOS中的实现。
19
Futex机制
用户态/内核态
用户态与内核态协同,Linux实现。
20
锁性能分析
吞吐·延迟
锁竞争,吞吐量,延迟指标。
21
锁调优
粒度·消除
锁粒度,锁拆分,锁消除。
22
RTOS锁实现对比
FreeRTOS·RT-Thread·Zephyr
FreeRTOS,RT-Thread,Zephyr。
23
锁调试技巧
死锁检测
死锁检测,锁依赖图。
24
锁安全编程
RAII·作用域锁
RAII模式,作用域锁。
25
中断与锁
下半部机制
中断上下文锁使用,下半部机制。
26
DMA与缓存一致性
cache刷新
DMA同步,cache刷新。
27
多核同步
核间中断·per-CPU
核间中断,全局锁,per-CPU变量。
28
实时性分析
WCET
锁对实时性的影响,最坏情况执行时间。
29
锁设计模式
双检查·读写偏向
双检查锁,读写偏向锁。
30
综合实战
RTOS同步子系统
设计一个RTOS内核的同步子系统。