关键词:
多核SPARC架构
Linux操作系统
实时性
RM调度算法
Preempt-RT
摘要:
Linux操作系统具有多种优势,包括稳定性、可定制性、成本效益和社区支持等,因此,Linux操作系统在航空航天领域中得到了广泛应用,成为了一种备受推崇的操作系统。但航空航天领域对于操作系统实时性的要求非常高,而Linux操作系统最初并不是为实时系统设计的,对Linux操作系统的实时性研究能够为航空航天领域提供更加可靠的系统支持。同时,航空航天领域中SPARC架构有着极为广泛的应用,因此对SPARC架构的Linux操作系统的实时性研究具有重要的意义。
本文首先针对Linux多核操作系统调度算法进行深入的研究,采用添加RM调度算法的方法。将RM调度算法与Linux操作系统中现有实时调度算法进行比较,论证得到RM调度算法的优势,并在Linux操作系统中实现了对RM调度算法的支持。
接着对Linux多核操作系统调度过程进行分析,从时钟、中断、可抢占点等方面分析制约因素,并依此设计了两点优化措施。一是优化现有的时钟系统,将SPARC中原有的低精度时钟系统改为Linux提供的高精度时钟系统;二是新增Preempt-RT补丁,从而获得更好的实时性。此外,为了实现量化研究内核的实时性能,还进行了Ftrace工具的移植,使开发者能够分析内核函数执行顺序及时间,方便进一步分析操作系统当前实时性。
最后在基于SPARC架构的BM3883多核芯片上对改进后的Linux操作系统进行功能和性能上的测试。完成了对RM调度算法的功能测试,并与原有调度算法进行任务调度对比测试,说明了改进后Linux操作系统对任务调度更加灵活;同时对改进前后的Linux操作系统进行了进程调度延时对比测试,并进一步使用Ftrace工具对调度延时构成进行分析,结果表明改进后的Linux操作系统的进程调度延时由14151μs减小到540μs,实时性得到大幅提升。