1. 实时系统概述

1.1 实时系统定义

实时系统(Real-Time System)是一类其正确性不仅取决于计算结果的逻辑正确性,还取决于结果产生的时间正确性的计算机系统。在实时系统中,任务必须在规定的截止时间(Deadline)之前完成,否则系统将被视为失效。

核心定义:实时系统 = 逻辑正确 + 时间正确。错过截止时间等同于错误输出。

实时系统与普通分时系统的本质区别在于时间确定性。分时系统追求平均响应时间和吞吐量,而实时系统追求最坏情况下的响应时间可预测性。

实时系统 vs 分时系统 核心差异 分时系统(Time-Sharing) 目标:最大化吞吐量 & 公平调度 响应时间:平均延迟优化 实时系统(Real-Time) 目标:满足截止时间 & 确定性 响应时间:最坏情况延迟可预测 关键对比维度 • 调度策略:分时→公平共享;实时→优先级+截止时间 • 时间约束:分时→尽力而为;实时→必须保证 • 过载行为:分时→所有任务变慢;实时→低优先级任务被丢弃

1.2 硬实时与软实时区别

根据错过截止时间后对系统的影响程度,实时系统分为硬实时(Hard Real-Time)和软实时(Soft Real-Time)两大类。

对比维度 硬实时(Hard RT) 软实时(Soft RT)
截止时间后果 错过即灾难性失效 性能下降,但系统可继续运行
确定性要求 100% 保证最坏情况 统计保证(如 99.9%)
典型抖动容忍 微秒级(μs) 毫秒级(ms)
验证方式 形式化验证 + 最坏情况分析 压力测试 + 概率分析
设计冗余 必须包含 可选
典型应用 航空电子、安全气囊、心脏起搏器 视频播放、网络电话、游戏
实践要点:在 Linux PREEMPT_RT 迁移中,首先要明确目标系统的实时等级。工业控制通常要求硬实时(μs 级抖动),而多媒体应用只需软实时(ms 级抖动)。这决定了内核配置和调度策略的选择。
硬实时 vs 软实时:截止时间错过的影响 硬实时 错过截止时间 → 系统失效 例:安全气囊必须在碰撞后 15ms 内触发 软实时 错过截止时间 → 质量下降 例:视频播放丢帧 → 画面卡顿但不会崩溃 时间 截止时间 硬实时完成 软实时完成 硬实时必须在截止时间前完成;软实时允许少量超时,但超时越多质量越差

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。
自动驾驶实时流水线 感知层 摄像头 · 激光雷达 毫米波雷达 · 超声波 融合层 目标检测 · 跟踪 语义分割 · 定位 决策层 路径规划 · 行为 运动预测 · 决策 控制层 转向 · 制动 油门 · 悬架 端到端延迟约束:< 100ms 感知 30ms → 融合 20ms → 决策 30ms → 控制 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 内核实时化改造的前提。