2. 任务生命周期(Task Lifecycle)

任务在 HRTOS 中的完整状态流转模型(时间 + 调度 + 资源三维视角)

核心定义

任务生命周期描述一个任务从“被系统引入”到“彻底退出系统”的完整状态变化过程。

在 HRTOS 中,生命周期不是简单状态机,而是一个受时间约束的执行实体模型: 每一次状态切换都对应一次调度决策或系统事件。

因此,生命周期本质上是:任务在时间轴上的“存在形式变化过程”。

Task lifecycle is not only a state machine, but a time-constrained execution entity model.

生命周期的系统本质

在通用系统中,任务状态用于“管理资源”; 在 HRTOS 中,任务状态用于“约束时间行为”。

状态变化的意义不是“逻辑切换”,而是: 是否进入新的时间约束区间

每一个状态都隐含一个时间语义: 是否可调度、是否占用CPU、是否等待事件、是否破坏deadline。

1. 创建(Created)

任务被定义并分配控制块(TCB),但尚未参与调度体系。

此阶段的关键问题不是“是否存在”,而是: 是否进入系统时间模型

2. 就绪(Ready)

任务已具备执行条件,进入调度候选集合(Ready Queue)。

此时任务已经“进入时间竞争系统”,但尚未消耗CPU时间。

Ready状态的核心本质是: 等待时间被分配

3. 运行(Running)

任务获得CPU执行权,进入真实时间消耗阶段。

在该阶段,系统必须同时满足:
• 可抢占性(Preemptive Control)
• WCET约束(Worst-case Execution Time)
• 中断响应边界(Interrupt Latency Bound)

Running状态是唯一“消耗系统时间资源”的状态。

4. 阻塞(Blocked)

任务因等待资源或事件而暂停执行。

阻塞不是“停止”,而是进入“不可调度但保留状态”的时间冻结区间。

在实时系统中,阻塞时间本身必须可分析,否则会污染整个调度模型。

5. 终止(Terminated)

任务生命周期结束,系统释放其所有资源与调度信息。

关键点不是“结束执行”,而是: 是否完全退出时间模型

状态转移本质

生命周期不是线性过程,而是事件驱动状态机:

Created → Ready → Running → Blocked → Ready → Running → Terminated

其中每一次跳转都由:
• 中断(Interrupt)
• 调度器(Scheduler)
• 资源事件(Resource Event)
共同驱动。

本质上,任务生命周期 = “时间驱动的状态图遍历过程”。

系统级意义

生命周期模型的意义不在于描述任务,而在于: 让系统可以预测任务行为在时间上的变化轨迹

如果生命周期不可预测,则调度分析(Scheduling Analysis)将失效。

Lifecycle modeling exists to make task behavior predictable over time.

语义总结

任务生命周期的本质是:系统如何在时间维度上管理执行实体的存在与消失。

它不是“状态变化模型”,而是“时间资源分配模型”。

Task lifecycle is not a state model, but a time-resource allocation model.

相关阅读(Related Reading)

上级入口

System View 总览

上一篇(学习顺序)

01 执行流模型(Execution Flow)←

下一篇(学习顺序)

03 中断流模型(Interrupt Flow)→

同类型扩展(Task / Scheduling 视角)

调度器周期模型
确定性执行链

跨模块关联(系统级理解)

任务上下文切换(Context Switch)
优先级调度模型