1. 实时系统概述
1.1 实时系统定义
实时系统(Real-Time System)是一类其正确性不仅取决于计算结果的逻辑正确性,还取决于结果产生的时间正确性的计算机系统。在实时系统中,任务必须在规定的截止时间(Deadline)之前完成,否则系统将被视为失效。
核心定义:实时系统 = 逻辑正确 + 时间正确。错过截止时间等同于错误输出。
实时系统与普通分时系统的本质区别在于时间确定性。分时系统追求平均响应时间和吞吐量,而实时系统追求最坏情况下的响应时间可预测性。
1.2 硬实时与软实时区别
根据错过截止时间后对系统的影响程度,实时系统分为硬实时(Hard Real-Time)和软实时(Soft Real-Time)两大类。
| 对比维度 | 硬实时(Hard RT) | 软实时(Soft RT) |
|---|---|---|
| 截止时间后果 | 错过即灾难性失效 | 性能下降,但系统可继续运行 |
| 确定性要求 | 100% 保证最坏情况 | 统计保证(如 99.9%) |
| 典型抖动容忍 | 微秒级(μs) | 毫秒级(ms) |
| 验证方式 | 形式化验证 + 最坏情况分析 | 压力测试 + 概率分析 |
| 设计冗余 | 必须包含 | 可选 |
| 典型应用 | 航空电子、安全气囊、心脏起搏器 | 视频播放、网络电话、游戏 |
实践要点:在 Linux PREEMPT_RT 迁移中,首先要明确目标系统的实时等级。工业控制通常要求硬实时(μs 级抖动),而多媒体应用只需软实时(ms 级抖动)。这决定了内核配置和调度策略的选择。
1.3 实时系统典型应用场景
1.3.1 工业控制
工业控制是实时系统最成熟的应用领域之一。从 PLC(可编程逻辑控制器)到 DCS(分布式控制系统),再到工业机器人,都需要确定性的响应时间。
- 运动控制:伺服电机位置环控制周期通常为 50μs ~ 1ms
- 过程控制:PID 调节周期 1ms ~ 100ms,要求抖动 < 10%
- 工业以太网:EtherCAT、PROFINET IRT 要求抖动 < 1μs
1.3.2 航空航天
航空航天领域对实时性的要求最为严苛,通常采用 ARINC 653 分区操作系统标准。
| 子系统 | 实时等级 | 典型截止时间 | 失效后果 |
|---|---|---|---|
| 飞行控制计算机 | 硬实时 | 10~50 ms | 灾难性 |
| 发动机全权限数字控制(FADEC) | 硬实时 | 1~10 ms | 灾难性 |
| 座舱显示系统 | 软实时 | 50~200 ms | 重大 |
| 客舱娱乐系统 | 非实时 | 无严格约束 | 轻微 |
1.3.3 自动驾驶
自动驾驶系统是实时系统在汽车领域的最新前沿应用,融合了感知、决策、控制三大实时流水线。
关键实时链路:传感器采集 → 感知融合 → 路径规划 → 控制执行。端到端延迟必须 < 100ms,其中控制指令延迟 < 10ms。
1.4 实时系统关键指标
评估一个实时系统的好坏,通常使用以下量化指标:
| 指标 | 定义 | 典型要求 |
|---|---|---|
| 延迟(Latency) | 事件发生到响应开始的时间 | 工业控制 < 10μs |
| 抖动(Jitter) | 延迟的最大波动范围 | EtherCAT < 1μs |
| 吞吐量(Throughput) | 单位时间处理的任务数 | 取决于应用场景 |
| 截止时间满足率 | 在截止时间前完成的任务比例 | 硬实时 100%,软实时 ≥ 99.9% |
常见误区:实时 ≠ 快速。一个实时系统可能响应很慢(如 100ms),但只要这个 100ms 是确定性的、可预测的,它就是合格的实时系统。反之,一个平均延迟 1μs 但偶尔抖动到 1ms 的系统,对于硬实时场景是不可接受的。
1.5 本章小结
实时系统的核心在于时间确定性。硬实时要求 100% 满足截止时间,软实时允许一定程度的超时。工业控制、航空航天、自动驾驶是实时系统的三大典型应用场景,它们对延迟、抖动、可靠性的要求逐级递增。理解这些基础概念,是后续学习 Linux PREEMPT_RT 内核实时化改造的前提。