实时编程的关键概念与设计方法
1. 实时嵌入式系统的关键特性
实时嵌入式系统在现代科技中扮演着至关重要的角色,它具有多种关键特性,这些特性对于系统的设计和运行有着深远的影响。
1.1 确定性
确定性是嵌入式系统的一个非常重要的属性。它能让设计者确保系统在满足预期功能需求时,始终以相同的方式运行。这对于系统验证来说是必不可少的,因为只有系统行为具有确定性,才能准确地对其进行验证和评估。
1.2 可预测性
除了功能需求,还必须能够预测嵌入式系统至少关键的非功能行为。对于硬实时嵌入式系统而言,确保时间约束始终得到满足,即其可预测性,是非常重要的。时间约束可以从多个角度进行定量区分:
- 响应时间或延迟约束 :涉及事件发生与系统诱导反应结束之间持续时间的界限。
- 速率约束 :依赖于系统在一段时间内处理的事件数量。响应时间和速率约束分别在时间的计时和编年表示上进行表达。
1.3 分布性和异构性
由于各种原因,实时嵌入式系统可能是分布式的,如计算性能、地理分散、容错等。这显然会在大型系统中引发全局设计问题,例如分布式子系统之间的可靠通信,以及子系统本地和整个系统全局的实时执行约束的保证。分布式系统中物理时钟的同步是最大的问题之一,因为每个子系统中用于定义本地时钟的石英晶体振荡频率取决于多种标准,如晶体的种类、切割方式、工作时所受的张力等,这使得处理时钟漂移变得困难。此外,子系统可能具有不同的性质或异构性,包括软件和硬件组件协同工作、来自不同设备供应商的组件、具有不同指令集的组件以及具有特定特性(如更快的时