论文部分内容阅读
随着网络技术和计算机技术的高速发展,嵌入式产业迅速崛起,嵌入式系统已经越来越多地应用在各个领域之中。嵌入式操作系统作为嵌入式系统的重要组成部分,发挥着越来越重要的作用。在工程实践中,嵌入式系统往往需要有较高的实时性,这就向嵌入式操作系统提出了更高的实时性要求。本文主要讨论为满足嵌入式应用领域的需要,μC/OS-Ⅱ操作系统的实时性研究。 首先概述了嵌入式系统、嵌入式实时操作系统和嵌入式μC/OS-Ⅱ,对μC/OS-Ⅱ的工作原理及进程管理等进行详细的介绍,并对μC/OS-Ⅱ嵌入式操作系统的优势和在实时性方面的不足作了深入分析。 在实时系统中的多个任务,必须决定这些任务的优先级顺序。任务调度算法需要动态为就绪任务的优先级排序,为了满足对实时性要求越来越高的需要,同时避免频繁改变就绪任务的优先级,本文引入了计算机存储系统中保持CACHE与主存一致的写回法,在系统原有查询方法的基础上实现μC/OS-Ⅱ中动态调度算法的改进。速率单调调度算法RMS是当前静态优先级调度算法中的最优算法,而截止期最早优先算法EDF是动态优先级调度算法中的最优算法。通过研究这两种最优的经典算法,改进和完善调度算法的设计,进一步分析了先进的多级反馈队列调度算法。 进程是否是基于优先级可剥夺的,是实时操作系统一个重要标志。但是,在进程是基于优先级可剥夺的情况下,高优先级的进程会被低优先级进程阻塞而无法按正常顺序运行,就有可能会出现优先级反转的问题。本文综述了优先级反转的现象及解决方法的基本原理,分析和比较了μC/OS-Ⅱ和Linux等优先级反转问题的解决方法。 最后在分析μC/OS-Ⅱ内核源代码的基础上,在μC/OS-Ⅱ系统中分别实现了速率单调调度算法、截止期最早优先算法以及可达截止期最早优先算法。并对各种算法进行评估,对各种算法的特点进行深入分析,针对不同应用需求,给出了不同的任务调度方案。 同时在μC/OS-Ⅱ的软件平台上,建立了一个优先级反转的实验模型,分析了μC/OS-Ⅱ用于解决优先级反转问题的互斥量机制的不足之处,并对