论文部分内容阅读
随着云计算与物联网的兴起,嵌入式系统迅速普及,应用领域不断扩展。嵌入式系统在实时与节能方面有着严格的要求,但目前市场上的商业嵌入式操作系统定价过高,源代码不开放致使企业无法拥有关键技术,使得Linux这个免费且源代码公开的操作系统在嵌入式系统中应用成了较为理想的选择。但Linux操作系统是一个通用的操作系统,在实时性方面存在不足,如何有效增强其实时性是目前需要解决的重点难点,目前主要的解决方案是采用实时补丁和微内核RTAI。与此同时,嵌入式设备便携式的特点限制了大部分都是自带移动电源,因此对增加系统的续航能力减少能耗也提出了新的要求。本文研究了嵌入式系统微内核RTAI的实时性问题,进而对实时系统中使用GRAPM算法的可靠性节能问题进行了深入探讨。具体工作如下:(1)针对微内核RTAI中使用改进后的RMS算法在任务过多时实时响应不足的问题,提出了一个新的调度算法EIC-CFS,提高了系统对任务的实时响应性能。算法的主要思想是:引入CFS(Completely Fair Scheduler)算法使RMS公平地对待每一个任务,通过缩短CPU时钟周期的长度,以容纳更多的任务,当任务数超过所设定值时,则根据所设定的一个标志值SCHED_NOW决定其是否放入下一轮调用,来限制处理器周期的自动增长速度,增强了系统对任务的实时响应能力。(2)在实时性算法的基础上,针对可靠性节能算法GRAPM算法在小任务增多时,容易导致任务在不同处理器上来回迁移,加重系统上下文切换,引起系统开销增大的问题,提出了改进的新算法STG-GRAPM,减少了能耗,增强了系统的可靠性。其主要思想是:将任务长度小于指定阈值的任务认定为小任务,将多个小任务组成一个任务组,以任务组为单元进行调度,减少任务在处理器之间的迁移;同时充分利用处理器的超线程技术,将处理器按二叉树结构方式进行组织,当任务组被唤醒后,尽量查找与当前处理器路径最短的空闲处理器,减少搜索时间,降低了系统能耗。