解读RTOS:第二篇 · 线程/任务管理与调度策略
1. 引言
在 RTOS 中,线程(Task)是最基本的执行单元,它封装了应用功能、资源使用和优先级属性。任务管理与调度策略决定了系统在多任务场景下的响应速度、资源分配效率与实时性保证。理解并掌握任务创建、状态转换、优先级设计和调度算法,是 RTOS 应用开发的核心内容。
2. 任务概念与生命周期
2.1 任务控制块(TCB)
每个任务对应一个 TCB,它保存任务栈指针、优先级、状态、上下文等信息。TCB 的大小和内容会随着内核实现而不同,但基本信息是一致的:
-
任务标识符(Task Handle)
-
任务栈与栈指针
-
优先级(Priority)
-
任务状态(运行、就绪、阻塞、挂起)
2.2 任务状态机
-
创建(Created):调用 xTaskCreate 后进入就绪队列
-
就绪(Ready):等待调度
-
运行(Running):获得处理器执行
-
阻塞(Blocked):等待事件(延时、信号量、队列ÿ