支持多核处理器的星载嵌入式操作系统的研究与实现

支持多核处理器的星载嵌入式操作系统的研究与实现

论文摘要

随着对星上信息处理能力的要求的不断提高,星载计算机系统的性能和功耗之间的矛盾日益凸现。相对于单核处理器,多核处理器能够在相同的功耗下获得更高的性能,有助于解决星载计算机系统性能和功耗之间的矛盾。在此大背景下,对支持多核处理器的嵌入式操作系统的研究也成为当今的热点。而支持SMP(Symmetric Multi-Processing)技术的操作系统,具有共享内存、性能功耗比更高、易于负载平衡等优点,能够充分发挥多核处理器的性能优势。有鉴于此,本文主要针对以SMP方式支持多核处理器的星载嵌入式操作系统的关键技术展开研究。本文分析了实时操作系统RTEMS(Real Time Executive for Multiprocessor Systems)的体系结构,并对RTEMS的任务调度机制、中断机制、同步与互斥机制等进行了深入的分析;在此基础上,本文针对RTEMS在多核化改造过程中所面临的主要关键问题,逐一给出了解决方案。在处理器核间的互斥控制方面,本文提出了基于自旋锁的可嵌套内核锁同步互斥机制,此机制解决了普通自旋锁嵌套使用所带来的死锁问题,且允许嵌套使用,简单可靠;在此基础上,结合多核调度锁的使用,有效地解决了系统的完整性问题,并较好地发挥了多核处理器的性能优势。在中断管理方面,提出了NS(Non-Spinning)中断动态分派算法。该算法根据中断服务例程是否需要获取内核锁来对中断进行分派,解决了由于自旋等待时间的不确定性而造成中断响应时间波动过大的问题。实验证明,相对于一般分派算法,其中断响应时间的波动更小,有效地提高了系统的实时性和响应性。在任务管理方面,本文提出了基于全局队列的任务分配算法,该算法简单高效,时间复杂度仅为O(1),且在调度开销恒定的情况下有效地实现了负载平衡,为系统的实时性及可预测性提供了保障。最后,本文在LEON3多核处理器平台上实现了本文改造方案的原型系统RTEM2S(The Real Time Executive for Multi-core&Multi-processor Systems),且在多核模拟器的实现方面,提出了事件驱动模型,在此基础上,成功设计并实现了支持多核处理器的模拟器MSIS(Multi-core Sparc Instruction Simulator),并在MSIS上对RTEM2S进行了定性和定量的测试与分析。实验数据表明,RTEM2S已实现SMP,且本文提出的技术和方法都能达到预期的效果。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 引言
  • 1.2 嵌入式实时操作系统概述
  • 1.3 模拟器
  • 1.4 本文工作
  • 1.5 论文结构
  • 第二章 多核处理器与实时操作系统综述
  • 2.1 多核处理器概述
  • 2.2 支持多核的实时操作系统现状
  • 2.3 基于多核处理器的Linux 的实现原理
  • 2.3.1 Linux 的引导和初始化
  • 2.3.2 调度器
  • 2.3.3 锁机制
  • 2.3.4 多APIC 的中断系统
  • 2.4 本章小结
  • 第三章 实时操作系统RTEMS 分析
  • 3.1 RTEMS 的体系结构
  • 3.2 RTEMS 内核剖析
  • 3.2.1 对象管理
  • 3.2.2 任务管理
  • 3.2.3 中断管理
  • 3.2.4 同步互斥与通信机制
  • 3.2.5 RTEMS 对多处理器的支持
  • 3.3 本章小结
  • 第四章 RTEMS 的多核化设计
  • 4.1 可嵌套的内核锁同步互斥机制
  • 4.1.1 问题描述
  • 4.1.2 新机制的提出及分析
  • 4.1.3 优劣性评价
  • 4.2 NS 中断动态分派算法
  • 4.2.1 问题描述
  • 4.2.2 算法的设计
  • 4.2.3 算法的评价
  • 4.3 多核任务分配算法
  • 4.3.1 任务分配问题
  • 4.3.2 算法的设计
  • 4.3.3 算法的评价
  • 4.4 本章小结
  • 2S-for-Le0113 的实现及验证'>第五章 RTEM2S-for-Le0113 的实现及验证
  • 5.1 系统结构
  • 2S 的实现'>5.2 RTEM2S 的实现
  • 5.2.1 系统初始化模块
  • 5.2.2 同步互斥机制模块
  • 5.2.3 中断管理模块
  • 5.2.4 任务管理模块
  • 5.3 实验验证
  • 5.3.1 任务调度
  • 5.3.2 任务间通信
  • 5.3.3 一些性能测试
  • 5.4 本章小结
  • 第六章 MSIS 多核模拟器的设计实现
  • 6.1 SIS 的概述
  • 6.2 MSIS 的设计
  • 6.2.1 新策略的提出
  • 6.2.2 事件驱动模型
  • 6.3 MSIS 的实现
  • 6.3.1 指令事件化及多事件队列
  • 6.3.2 片上接口
  • 6.3.3 时钟部件
  • 6.3.4 Cache 部件
  • 6.4 本章小结
  • 第七章 结束语
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 相关论文文献

    标签:;  ;  ;  

    支持多核处理器的星载嵌入式操作系统的研究与实现
    下载Doc文档

    猜你喜欢