论文摘要
一个操作系统的核心部分是任务调度模块。调度算法的目的是在正常情况下,尽可能满足所有任务的时限;在峰值负载条件下,保证强实时任务满足时限。系统操作具有的运行性能在很大程度上取决于任务调度。虽然调度的主要目的是为了分配处理机,但在不同的系统中所采用的调度方式是不同的,在执行调度时所采用的调度算法也可能不同。在目前各种嵌入式系统中,所采用的调度方法各不相同。因此对嵌入式系统调度方法的研究也就成为人们关心的问题。如何使系统高效、可靠地保证各个任务运行关键在于所采用的调度方法。任务调度机制作为操作系统的核心技术,目前发展的相当成熟,其中对调度算法的研究更是数不胜数。每一种调度算法都各有优缺点,同时也适合于不同的系统。本文对常用任务调度方法做出总结,分析研究各种算法的优缺点,指出了各种算法对系统的适用性。然后将静态调度算法作为对系统任务调度方法研究起点,重点研究了一种源码开放的嵌入式系统μC/OS-Ⅱ所采用的任务调度机制,对该系统采用的调度机制做出了简单的分析,总结出其优缺点。针对其不足之处提出了改进设计方案,首先针对在μC/OS-Ⅱ系统任务调度中不支持有相同优先级任务存在的问题,提出了基于时间片轮转调度算法的改进设计方案;第二,针对系统中优先级分配问题,提出了基于静态调度算法的改进设计方案。并根据算法调度时序,对改进算法的可调度性做了简单分析。最后结合两种改进设计方案,提出应用于该系统的混合调度策略,扩大了该系统的使用范围和灵活性。将系统移植到ARM微处理器上,并进行了简单的多任务调度测试,在此基础上实现了上述两种改进的任务调度算法及混合调度方法。
论文目录
摘要Abstract第1章 绪论1.1 课题研究的背景和意义1.2 有关任务调度的基本概念1.3 常用任务调度算法1.3.1 基于优先级的调度算法1.3.2 基于比例共享的调度算法1.3.3 基于时间的调度算法1.4 本文的主要研究内容1.5 本文结构第2章 嵌入式系统任务调度方法的研究2.1 引言2.2 常用嵌入式系统的调度策略2.2.1 μCLinux 系统调度策略2.2.2 VxWorks 系统调度策略2.2.3 eCos 系统调度策略2.2.4 μC/OS-Ⅱ系统调度策略2.3 μC/OS-Ⅱ的系统组成及特点2.3.1 μC/OS-Ⅱ的系统组成2.3.2 μC/OS-Ⅱ系统的特点2.4 μC/OS-Ⅱ的任务及调度2.4.1 任务存储结构2.4.2 任务的创建2.4.3 任务就绪表结构2.4.4 任务就绪表的操作2.4.5 任务调度2.5 μC/OS-Ⅱ系统任务调度策略的分析2.6 本章小结第3章 μC/OS-Ⅱ系统的移植3.1 引言3.2 选择μC/OS-Ⅱ的原因3.3 移植条件3.4 移植规划3.4.1 S3C44B0X 硬件结构描述3.4.2 ARM7TDMI 内核3.4.3 集成开发环境3.5 配置 C/OS-Ⅱ3.6 移植工作3.6.1 数据类型的重定义3.6.2 初始化堆栈结构3.6.3 编写四个函数3.7 移植测试3.8 本章小结第4章 μC/OS-Ⅱ系统任务调度算法的改进设计4.1 引言4.2 基于时间片轮转调度算法的改进设计4.2.1 数据结构的扩展4.2.2 任务控制块初始化函数的改进4.2.3 任务生成函数的改进4.2.4 时钟节拍函数的改进4.2.5 应用测试程序的编写4.2.6 改进算法的测试4.2.7 混合调度的实现4.2.8 算法性能分析4.3 基于优先级分配算法的改进设计4.3.1 数据结构的扩展4.3.2 相关函数的改进4.3.3 优先级生成函数的设计4.3.4 改进算法的测试4.3.5 算法可调度性分析4.4 两种改进算法的混合调度策略4.4.1 混合调度策略简述4.4.2 在μC/OS-Ⅱ系统中的实现及测试4.5 本章小结结论参考文献攻读学位期间发表的学术论文致谢
相关论文文献
标签:嵌入式系统论文; 任务调度论文;