论文部分内容阅读
嵌入式实时系统要求任务能按时、正确地完成功能操作,这些任务还可能会互斥地访问共享资源。另外,系统的处理能力和内存容量往往是有限的。这需要将调度算法与资源访问控制协议合理地组合到一起使用,从而能恰当地排列任务执行顺序,在保证系统可调度性的同时使用更少的内存资源。实际的嵌入式实时系统提供的优先级是有限的,需要一种适当的优先级映射算法。当前采用构件技术的嵌入式实时系统在开发过程中注重从结构角度利用构件技术的优点,而往往忽视从运行角度充分利用成熟的实时调度理论。 针对上述需求,本文研究了静态优先级实时调度算法和资源访问控制协议,分析了现有调度算法和资源协议结合使用时存在的不足,以及现有优先级映射算法的不足。试图找出一种合理的组合调度算法和资源协议的方案,一种能保证系统实时性的优先级映射算法,一种将构件映射成任务的方式和为底层构件化嵌入式实时操作系统选择适当的调度模型。 首先,本文分析出抢占阈值调度算法与SRP资源访问控制协议更适合嵌入式实时系统,两者具有共同的特点:任务一旦执行就不会被阻塞。据此,用level-i忙周期分析方法重新推导了SRP协议下判定任务可调度性的公式,并基于新公式推导出SRP协议的特性,实现了分配任务优先级的算法。经过进一步分析,推导出抢占阈值调度是应用SRP协议的静态优先级实时系统的一个特例,表明将SRP协议和抢占阈值调度算法相结合是合理的。利用伪资源的概念在SRP协议中实现了抢占阈值调度,提出了SRP-PT调度模型。通过限制使用实资源的任务再次使用伪资源,防止了阈值过限问题。证明了SRP-PT调度模型比现有调度算法和资源协议的结合方式性能更好。通过仿真实验进行性能对比表明:与单独使用SRP协议相比,SRP-PT调度模型能提高任务集合的可调度性。 其次,通过深入分析抢占阈值调度模型生成的非抢占组的特性,证明了组内任务优先级是连续递增的,组间任务优先级值不会相交,并据此提出了阈值段间映射法(TSM)和事件驱动线程框架。能充分利用抢占阈值调度模型的优点,针对没有共享资源的实时系统,在提高任务集合可调度性的同时,使用较少的系统优先级。通过仿真实验与现有优先级映射算法进行性能对比,证明了上述结论。 最后,本文提出一种适合于嵌入式实时系统的软件构件模型以及将构件映射成任务的方式,同时提出一种设计方法。通过仿真实验比较了4种可用调度算法的性能,通过分析说明了抢占阈值调度算法和SRP-PT调度模型最适于构件化嵌入式实时系统。