论文部分内容阅读
任务调度和通信机制是实现RTEMS系统实时性和可靠性的重要保证。目前RTEMS系统采用基于线程并以任务优先级为驱动,支持抢占,同等优先级的任务分时共享处理器的调度策略。优点是执行效率高,系统的开销小,具有一定的实时性和可靠性。同时也存在着如下问题,由于采用单一的调度策略,不能够支持需要使用多调度策略的实时多任务应用程序;由于采用了基于优先级且支持抢占的调度模型,有可能发生非期待的任务抢占,造成较大的系统开销,从而降低系统实时性和可靠性。这些问题仅靠硬件性能的提升并不能得到有效的解决。本文重点研究基于RTEMS的任务调度策略和通信机制。首先,针对标准RTEMS系统采用单一的调度策略,不能满足使用多种调度策略的实时多任务应用程序需求的问题,提出了一种可扩展任务调度策略的TLSS策略;在该策略中,当存在多个同等优先级的调度策略就绪队列,并有一个队列的任务长时间占用CPU时,会造成其它队列的任务长时间不能被调度,针对这个问题,提出通过为调度策略预设带宽,轮转调度同等优先级调度策略任务的,实现对TLSS策略管理的一种BCM机制。然后,针对多调度策略中的任务可能出现非期待抢占,导致系统性能降低问题,引入对调度策略的任务进行可调度性分析。最后,分别从信号量互斥机制、消息通信机制、事件同步机制和信号异步机制四个方面,阐述了使用TLSS调度策略和BCM控制机制的RTEMS多任务之间的通信和同步机制。通过仿真实验对TB-RTEMS系统的TLSS策略、BCM机制和信号量机制进行了仿真实验及理论分析。结果表明,TLSS策略能够有效提高系统的实时性和可靠性;BCM机制能够保证TLSS策略均衡执行不同调度策略就绪队列的任务;任务的可调度性分析可避免出现非期待的任务抢占,提高任务执行的效率;通信机制则可为多任务并发执行提供通信和同步功能。因此该研究对RTMES系统的发展具有一定的意义。