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

55 lines
3.6 KiB
Markdown

# 中断与实时性保障参考
## 1. 与本项目的关系
本方向为论文的“可保障性”提供理论和系统基础,覆盖固定优先级响应时间、共享资源阻塞、优先级倒置、中断线程化、CPU/IRQ 亲和性以及外部闭环测量。
## 2. 经典理论资料
| 资料 | 等级 | 可支撑内容 | 本项目使用方式 |
|---|---|---|---|
| C. L. Liu, J. W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment,” 1973. [DOI](https://doi.org/10.1145/321738.321743) | A | RMS/EDF 与周期任务基础 | 建立基本任务模型 |
| L. Sha, R. Rajkumar, J. P. Lehoczky, “Priority Inheritance Protocols: An Approach to Real-Time Synchronization,” IEEE TC, 1990. [DOI](https://doi.org/10.1109/12.57058) | A | 优先级继承、优先级上限与有界阻塞 | 支撑锁竞争和优先级倒置分析 |
| N. Audsley et al., “Applying New Scheduling Theory to Static Priority Pre-emptive Scheduling,” 1993. [DOI](https://doi.org/10.1049/sej.1993.0034) | 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](https://doi.org/10.1007/BF01088593) | A | 固定优先级分析扩展 | 用于更复杂任务和通信分析 |
## 3. 内核与测量资料
| 资料 | 等级 | 可支撑内容 |
|---|---|---|
| Linux Kernel, “PREEMPT_RT Theory of Operation.” [官方文档](https://docs.kernel.org/core-api/real-time/theory.html) | A | 可抢占锁、rtmutex、优先级继承和线程化中断 |
| Linux Kernel, “How realtime kernels differ.” [官方文档](https://docs.kernel.org/core-api/real-time/differences.html) | A | 普通 Linux 与 PREEMPT_RT 的内核语义差异 |
| Linux Foundation Real-Time Linux, “Cyclictest.” [官方文档](https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start) | A/B | 唤醒延迟工具、参数、限制和最大值解释 |
| Linux `rt-tests` 项目. [kernel.org](https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/) | B | cyclictest、hwlatdetect 等实现与版本记录 |
## 4. 本项目分析框架
关键任务响应时间可写为:
```text
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 的机制差异必须通过等价任务语义比较,不能只比较工具默认输出。