支持对称多核处理器的嵌入式实时操作系统研究与实现
| 摘要 | 第5-6页 |
| Abstract | 第6页 |
| 1 绪论 | 第9-15页 |
| 1.1 研究背景和意义 | 第9-10页 |
| 1.2 国内外研究现状 | 第10-13页 |
| 1.3 研究内容 | 第13-15页 |
| 2 对称多处理技术 | 第15-36页 |
| 2.1 对称多处理架构 | 第15-17页 |
| 2.2 对称多处理与非对称多处理架构比较 | 第17-18页 |
| 2.3 支持多核处理器的操作系统关键技术 | 第18-29页 |
| 2.3.1 体系结构 | 第18-22页 |
| 2.3.2 系统引导和初始化 | 第22-23页 |
| 2.3.3 多核同步与互斥技术 | 第23-26页 |
| 2.3.4 多核任务调度 | 第26-27页 |
| 2.3.5 中断系统 | 第27-29页 |
| 2.4 Linux SMP实现原理 | 第29-35页 |
| 2.4.1 系统初始化 | 第29-31页 |
| 2.4.2 多核同步互斥机制 | 第31-33页 |
| 2.4.3 任务调度机制 | 第33-34页 |
| 2.4.4 中断处理机制 | 第34-35页 |
| 2.5 本章小结 | 第35-36页 |
| 3 MARS OS内核分析 | 第36-43页 |
| 3.1 MARS OS内核结构 | 第36页 |
| 3.2 MARS OS任务同步与互斥 | 第36-38页 |
| 3.2.1 互斥机制 | 第36-37页 |
| 3.2.2 任务间通信 | 第37-38页 |
| 3.3 MARS OS任务调度 | 第38-41页 |
| 3.3.1 调度算法 | 第38-39页 |
| 3.3.2 任务调度 | 第39-41页 |
| 3.4 MARS OS中断管理 | 第41-42页 |
| 3.5 本章小结 | 第42-43页 |
| 4 MARS OS在SPARC处理器上的移植 | 第43-49页 |
| 4.1 SPARC体系结构 | 第43-45页 |
| 4.1.1 寄存器窗口 | 第43-44页 |
| 4.1.2 控制/状态寄存器 | 第44-45页 |
| 4.1.3 窗口上溢、下溢 | 第45页 |
| 4.2 SPARC移植实现 | 第45-48页 |
| 4.2.1 临界区互斥 | 第45页 |
| 4.2.2 任务堆栈帧设计 | 第45-46页 |
| 4.2.3 任务切换实现 | 第46-47页 |
| 4.2.4 中断处理 | 第47-48页 |
| 4.3 本章小结 | 第48-49页 |
| 5 支持SMP的嵌入式操作系统设计与实现 | 第49-79页 |
| 5.1 系统整体方案设计 | 第49-50页 |
| 5.2 系统启动与初始化 | 第50-52页 |
| 5.3 系统完整性 | 第52-64页 |
| 5.3.1 内存屏障 | 第52-57页 |
| 5.3.2 自旋锁 | 第57-63页 |
| 5.3.3 原子操作 | 第63-64页 |
| 5.4 多核任务调度 | 第64-71页 |
| 5.4.1 基于原单核调度机制的扩展 | 第65-68页 |
| 5.4.2 改进的全局优先级任务调度机制 | 第68-71页 |
| 5.5 中断管理 | 第71-76页 |
| 5.5.1 核间中断 | 第71-73页 |
| 5.5.2 中断分配 | 第73-76页 |
| 5.6 系统降级运行 | 第76-78页 |
| 5.6.1 CPU故障检测机制 | 第76-77页 |
| 5.6.2 降级处理 | 第77-78页 |
| 5.7 外部编程模型 | 第78页 |
| 5.8 本章小结 | 第78-79页 |
| 6 测试验证 | 第79-87页 |
| 6.1 验证环境 | 第79-80页 |
| 6.2 系统启动与初始化测试 | 第80-81页 |
| 6.3 同步互斥机制测试 | 第81-82页 |
| 6.4 任务调度测试 | 第82-83页 |
| 6.5 任务间通信测试 | 第83-84页 |
| 6.6 系统降级运行测试 | 第84-85页 |
| 6.7 性能测试 | 第85-86页 |
| 6.8 系统吞吐量测试 | 第86页 |
| 6.9 本章小结 | 第86-87页 |
| 7 总结 | 第87-89页 |
| 参考文献 | 第89-93页 |
| 作者在学期间取得的学术成果 | 第93-94页 |
| 致谢 | 第94页 |