边界与易混点
最容易混淆的几个点
| 容易混的点 | FreeRTOS 里该怎么理解 |
|---|---|
| 任务 vs 线程 | Task 更接近“线程”,不是完整“进程” |
| 同步 vs 互斥 | 同步是在等条件,互斥是在护共享资源 |
| 二值信号量 vs 互斥量 | 保护共享资源优先考虑 Mutex,不要只看“都能阻塞” |
| 阻塞 vs 挂起 | vTaskDelay() 是等条件或等时间,vTaskSuspend() 更像人为暂停 |
| 延时 vs 定时器 | 延时是让当前任务睡下去,定时器是到点触发回调 |
| 临界区 vs 锁 | 极短共享访问可用临界区,复杂共享资源优先用 Mutex |
不要硬套教材的点
- 教材里的“进程”通常带地址空间隔离,FreeRTOS 的
Task一般没有这一层。 - 大多数 MCU + FreeRTOS 没有分页虚拟内存,也没有页面置换算法。
- 文件系统通常是外挂组件,比如
FatFs或littlefs,不是 FreeRTOS 内核主体。
这一篇要盯住什么
- 学操作系统原理时要有完整视角。
- 学 FreeRTOS 时要知道哪些机制在当前平台上根本不存在。