嵌入式系统实时调度与状态图设计全解析
1. 实时系统概述
在嵌入式系统领域,大多数系统都属于实时系统,这是因为计算结果的实用性与结果产生的时间紧密相关。实时性通过实时截止时间来保证,确保系统能按时完成任务至关重要,因为延迟的结果可能和错误的计算一样糟糕。
对于简单系统,纯静态任务调度方法或许可行,还能搭配辅助中断;而复杂系统则更适合采用速率单调调度系统。同时,应尽量避免使用最早截止时间优先(EDF)调度和临时的任务优先级分配方法。
1.1 实时操作的重要性
实时分析和调度的核心目标是确保系统能满足所有任务的截止时间。这需要先了解系统必须执行的各种任务,然后合理安排任务执行顺序,以保证所有截止时间都能被满足。
在实际操作中,很多人试图通过测试来验证系统是否满足实时要求,但这种方法存在局限性。测试只能表明系统在大多数情况下能满足截止时间,却无法保证在所有情况下都能如此,因为创建测试场景的最坏情况非常困难。所以,正确实现实时性的关键在于,要么设计一个便于测试最坏情况的系统(如静态调度),要么设计一个能通过数学方法理解最坏情况行为的系统(如速率单调调度),而无需实际创建和测试最坏情况。
1.2 可能出现的症状
当项目出现以下情况时,就需要仔细审视实时调度了:
- 没有书面的实时调度计划。
- 使用混合或临时的调度技术,而非单一、一致的方法。例如,大部分任务采用静态调度,但在负载较重时动态跳过某些任务。
- 采用最早截止时间优先调度或最小松弛度调度。
- 不清楚且未记录各种任务的最坏情况执行时间。
- 使用没有特定实时支持的桌面操作系统。
嵌入式系统实时调度与状态图设计解析
超级会员免费看
订阅专栏 解锁全文
2350

被折叠的 条评论
为什么被折叠?



