Files
rtos_llm_opt/10-研究框架/参考文件/05-中断与实时性保障参考.md
T

3.6 KiB

中断与实时性保障参考

1. 与本项目的关系

本方向为论文的“可保障性”提供理论和系统基础,覆盖固定优先级响应时间、共享资源阻塞、优先级倒置、中断线程化、CPU/IRQ 亲和性以及外部闭环测量。

2. 经典理论资料

资料 等级 可支撑内容 本项目使用方式
C. L. Liu, J. W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment,” 1973. DOI A RMS/EDF 与周期任务基础 建立基本任务模型
L. Sha, R. Rajkumar, J. P. Lehoczky, “Priority Inheritance Protocols: An Approach to Real-Time Synchronization,” IEEE TC, 1990. DOI A 优先级继承、优先级上限与有界阻塞 支撑锁竞争和优先级倒置分析
N. Audsley et al., “Applying New Scheduling Theory to Static Priority Pre-emptive Scheduling,” 1993. DOI A 含阻塞和抖动的精确固定优先级分析 构建含 IRQ/驱动阻塞的 RTA
K. Tindell, A. Burns, A. Wellings, “An Extendible Approach for Analyzing Fixed Priority Hard Real-Time Tasks,” Real-Time Systems, 1994. DOI A 固定优先级分析扩展 用于更复杂任务和通信分析

3. 内核与测量资料

资料 等级 可支撑内容
Linux Kernel, “PREEMPT_RT Theory of Operation.” 官方文档 A 可抢占锁、rtmutex、优先级继承和线程化中断
Linux Kernel, “How realtime kernels differ.” 官方文档 A 普通 Linux 与 PREEMPT_RT 的内核语义差异
Linux Foundation Real-Time Linux, “Cyclictest.” 官方文档 A/B 唤醒延迟工具、参数、限制和最大值解释
Linux rt-tests 项目. kernel.org B cyclictest、hwlatdetect 等实现与版本记录

4. 本项目分析框架

关键任务响应时间可写为:

R_i = C_i + B_i + I_irq,i + I_sched,i
      + sum(ceil((R_i + J_h) / T_h) * C_h)

其中 C_i 是自身执行时间,B_i 是共享资源阻塞,I_irq,i 是中断与驱动干扰,I_sched,i 是调度器和不可抢占区间干扰,求和项是高优先级任务干扰。该式只用于组织分析;每个项的取值和适用假设必须单独验证。

实测至少覆盖:

  • 计划释放、就绪、开始和完成时间;
  • 唤醒延迟、响应时间、完成抖动、违约率和观测最大值;
  • IRQ 数量、处理时间、CPU 亲和性和最长关中断区间;
  • 推理提交、DMA 和完成中断与关键任务峰值的时间关联;
  • GPIO/CAN/RS485/网络外部回路端到端时延。

5. 对照与消融

  • O0 普通 Linux、O1 PREEMPT_RT、O2 SylixOS 默认、O3 SylixOS 优化、必要时 O4 等预算调优;
  • 逐项去除 CPU 隔离、IRQ 亲和性、优先级继承、内存预分配和推理准入;
  • 同时报人工智能有效吞吐代价,避免通过饿死推理任务获得低抖动。

6. 不应直接推出的结论

  • cyclictest 测得的是特定路径的唤醒延迟,通常不等于业务任务完整响应时间。
  • 实测最大值不是 WCET;零违约不是硬实时证明。
  • PREEMPT_RT 和专用 RTOS 的机制差异必须通过等价任务语义比较,不能只比较工具默认输出。