摘要 | 第4-6页 |
Abstract | 第6-7页 |
1 绪论 | 第14-22页 |
1.1 研究背景与动机 | 第14-17页 |
1.2 本文工作 | 第17-20页 |
1.3 论文结构安排 | 第20-22页 |
2 背景与相关研究工作 | 第22-36页 |
2.1 数据竞争 | 第22-28页 |
2.1.1 多线程的数据竞争 | 第22-24页 |
2.1.2 中断引发的数据竞争 | 第24-26页 |
2.1.3 多线程的数据竞争与中断引发的数据竞争比较 | 第26页 |
2.1.4 常用的数据竞争检测技术 | 第26-28页 |
2.2 数据竞争的检测策略 | 第28-33页 |
2.2.1 数据竞争的静态检测策略 | 第29-30页 |
2.2.2 数据竞争的动态检测策略 | 第30-33页 |
2.3 软件仿真技术与Simics | 第33页 |
2.4 本章小结 | 第33-36页 |
3 基于控制流图的潜在数据竞争静态检测 | 第36-52页 |
3.1 示例程序 | 第36-39页 |
3.2 中断驱动源程序的预处理 | 第39-41页 |
3.2.1 共享资源检测 | 第39-40页 |
3.2.2 中断使能检测 | 第40-41页 |
3.3 构建简要控制流图 | 第41-43页 |
3.4 基于简要控制流图的数据竞争静态分析 | 第43-50页 |
3.4.1 构建内联中断的控制流图 | 第43-46页 |
3.4.2 IIRCFG序列化 | 第46-48页 |
3.4.3 潜在数据竞争分析 | 第48-50页 |
3.5 静态分析结果的评价 | 第50-51页 |
3.6 本章小结 | 第51-52页 |
4 静态结果指导下的数据竞争动态仿真过程 | 第52-64页 |
4.1 使用Simics进行动态仿真 | 第52-55页 |
4.1.1 动态仿真的目的 | 第52-53页 |
4.1.2 动态仿真过程 | 第53-55页 |
4.2 对潜在竞争进行重要性排序 | 第55-62页 |
4.2.1 重要性排序的目的 | 第55-57页 |
4.2.2 潜在竞争问题的重要性评估指标 | 第57-60页 |
4.2.3 潜在竞争问题的重要性评分公式 | 第60-62页 |
4.3 本章小结 | 第62-64页 |
5 原型与实例研究 | 第64-75页 |
5.1 原型实现和展示 | 第64-66页 |
5.2 实例研究 | 第66-73页 |
5.2.1 案例1:某航天处理模块 | 第67-68页 |
5.2.2 案例2:某航天天线接收模块 | 第68-70页 |
5.2.3 案例3:某航天定时器模块 | 第70-71页 |
5.2.4 案例4:Linux的UART设备驱动程序 | 第71-72页 |
5.2.5 案例5和案例6:多中断情况下的数据竞争问题 | 第72-73页 |
5.3 本章小结 | 第73-75页 |
6 总结与展望 | 第75-77页 |
6.1 总结 | 第75页 |
6.2 展望 | 第75-77页 |
参考文献 | 第77-81页 |
简历与科研成果 | 第81-83页 |
致谢 | 第83-84页 |