论文部分内容阅读
实时系统主要面向现实世界中与时间因素相关的应用需求,它所关注的不仅仅是计算结果在逻辑上的正确性,而且还有输出结果时间的及时性,目前,实时系统已经广泛应用在军事和民用领域。实时操作系统是其中的核心,随着硬件性能的提高,实时应用不仅对操作系统的性能,而且对其功能也提出了越来越高的要求,例如图形界面、网络功能等。现有商业RTOS不是功能过于简单就是价格过于昂贵,缺少一个开放的、标准的、有广泛支持的、高效而又廉价的实时操作系统,因此很多机构开始研究将功能强大的通用操作系统改造成实时操作系统。Linux具有功能强大、开放源码、支持多种硬件平台、模块化设计、函数接口符合国际和工业标准等特点,自然成为进行实时化的首选。Linux本身是一个分时系统,它在实时应用上有很大的局限性,特别是在实时调度策略上的单一性,因此本文提出了二级调度策略的设计思想以及基本框架,并且在RTAI上实现了二级调度策略,设计了RM调度器和EDF调度器,使RTAI提供了对单调速率算法和最早时限优先算法的支持,增强了其实时性,最后通过试验测试,验证了它能够对实时任务进行正确调度。论文主要内容如下:(1)研究Linux操作系统和实时系统调度策略的基本理论知识,分析Linux操作系统在实时应用上的优势和局限性;(2)研究了在实时系统中支持多种调度策略以及任务类型的调度模型,提出一种二级调度策略的基本思想并且给出其总体框架;(3)在分析几种流行的实时Linux方案之后,选择RTAI作为实现二级调度策略的平台,设计RM调度器和EDF调度器,使RTAI提供对单调速率算法和最早时限优先算法的支持;(4)对标准Linux和RTAI进行中断延迟时间测试和上下文切换时间测试,并对实验结果进行比较,最后对二级调度策略进行测试验证,检验其正确性。综上,本文针对Linux实时调度策略单一的缺陷,提出了一种二级调度策略的基本思想,该调度策略通过把调度过程分为两个阶段,将调度器的筛选和具体的调度分开来,使多种调度策略都得到支持,相对于只对单种调度策略提供支持的方案,拓展了系统的可使用范围。理论分析和实验结果表明:相关策略是正确、有效的,扩展后的RTAI能够依照所设定的算法对实时任务进行正确调度。