Real-Time Systems

实时系统可视化实验室

从硬实时与软实时的本质区别到速率单调调度,从优先级反转到抖动分析,系统化解析实时系统的调度理论与工程实现。每个模块含可交互 SVG 演示。

DomainCS / Systems
Modules8
Accent#facc15 yellow
StackHTML / SVG / JS
Interactive Modules
硬实时 vs 软实时
01
Hard Realtime deadline 错过 = 系统失败 刹车 / 安全气囊 Soft Realtime deadline 错过 = 质量下降 视频流 / 游戏 firm 实时介于两者:偶发可容

硬实时要求绝对 deadline 保证,错过即灾难(航空、医疗、制动)。软实时允许偶发超时,影响体验但不致失效(流媒体)。firm 介于其间:超时结果丢弃但系统继续。

HardSoftFirm
速率单调调度 RMS
02
time T1 T2 短周期=高优先级 · 抢占式

RMS 按周期分配优先级:周期越短优先级越高。可调度上界 U ≤ n(2^(1/n)-1),n→∞ 时趋于 69.3%。简单高效但要求周期已知,对偶发任务处理弱。

RMSLiu-LaylandPreemptive
EDF 最早截止期优先
03
time CPU A B C A 动态优先级 · 最近 deadline 最高

EDF 动态分配优先级:截止期最近的任务优先。理论上 CPU 利用率可达 100%,是最优单处理器调度算法。但需动态排序开销,过载时行为不可预测(多米诺式错过)。

EDFDynamicOptimal
优先级反转与继承
04
time H M L L 持锁阻塞 H,M 抢占 L → 反转

经典问题:低优先级 L 持锁阻塞高优先级 H,中优先级 M 抢占 L,导致 H 被 M 间接阻塞。优先级继承:L 暂时继承 H 优先级,加速释放锁。优先级天花板进一步防死锁。

Priority InheritanceCeilingMars Pathfinder
实时通信协议
05
CAN Bus (arbitration) N1 N2 N3 ID 越小优先级越高: 0x100 > 0x200 > 0x300 CSMA/CA · 位仲裁无冲突

实时通信协议:CAN 总线位仲裁保证高优先级帧优先;TTEthernet 时间触发以太网;FlexRay 静态+动态段;TSN(时间敏感网络)为以太网提供确定性延迟。

CANTTEthernetTSN
资源预留
06
CBS · Constant Bandwidth Server Q (budget) refill P (period) 每周期补充预算 Q · 超额则降级

资源预留(CBS/GRUB)为任务分配固定带宽预算 Q/P,保证隔离。任务消耗预算,耗尽则挂起等待下周期补充。实现 CPU 带宽的"虚拟化",防止单任务饿死他人。

CBSReservationIsolation
实时 OS 架构
07
Microkernel sched / IPC MM Drivers FS Net 微内核 · 服务运行于用户态 · IPC 通信

实时 OS(QNX、VxWorks、RT-Linux、Zephyr)采用微内核架构,最小化内核态代码。调度器、IPC 在内核,文件系统、驱动在用户态,故障隔离。低延迟中断响应(μs 级)是关键指标。

QNXVxWorksZephyr
抖动分析
08
period # jitter ideal +jmax -jmax

抖动(jitter)是任务实际触发时间偏离理想周期的偏差。硬实时要求抖动有界(worst-case jitter)。来源包括中断延迟、调度延迟、缓存效应。Linux PREEMPT_RT、双内核(Xenomai)降低抖动到 μs 级。

JitterPREEMPT_RTXenomai