任务生命周期描述一个任务从“被系统引入”到“彻底退出系统”的完整状态变化过程。
在 HRTOS 中,生命周期不是简单状态机,而是一个受时间约束的执行实体模型: 每一次状态切换都对应一次调度决策或系统事件。
因此,生命周期本质上是:任务在时间轴上的“存在形式变化过程”。
在通用系统中,任务状态用于“管理资源”; 在 HRTOS 中,任务状态用于“约束时间行为”。
状态变化的意义不是“逻辑切换”,而是: 是否进入新的时间约束区间。
每一个状态都隐含一个时间语义: 是否可调度、是否占用CPU、是否等待事件、是否破坏deadline。
任务被定义并分配控制块(TCB),但尚未参与调度体系。
此阶段的关键问题不是“是否存在”,而是: 是否进入系统时间模型。
任务已具备执行条件,进入调度候选集合(Ready Queue)。
此时任务已经“进入时间竞争系统”,但尚未消耗CPU时间。
Ready状态的核心本质是: 等待时间被分配。
任务获得CPU执行权,进入真实时间消耗阶段。
在该阶段,系统必须同时满足:
• 可抢占性(Preemptive Control)
• WCET约束(Worst-case Execution Time)
• 中断响应边界(Interrupt Latency Bound)
Running状态是唯一“消耗系统时间资源”的状态。
任务因等待资源或事件而暂停执行。
阻塞不是“停止”,而是进入“不可调度但保留状态”的时间冻结区间。
在实时系统中,阻塞时间本身必须可分析,否则会污染整个调度模型。
任务生命周期结束,系统释放其所有资源与调度信息。
关键点不是“结束执行”,而是: 是否完全退出时间模型。
生命周期不是线性过程,而是事件驱动状态机:
Created → Ready → Running → Blocked → Ready → Running → Terminated
其中每一次跳转都由:
• 中断(Interrupt)
• 调度器(Scheduler)
• 资源事件(Resource Event)
共同驱动。
本质上,任务生命周期 = “时间驱动的状态图遍历过程”。
生命周期模型的意义不在于描述任务,而在于: 让系统可以预测任务行为在时间上的变化轨迹。
如果生命周期不可预测,则调度分析(Scheduling Analysis)将失效。