一种Linux用户态实时多任务调度框架
A real-time multi-task scheduling framework in Linux user space作者机构:中国科学技术大学计算机科学与技术学院安徽合肥230027 安徽省计算与通信软件重点实验室安徽合肥230027 中国科学技术大学先进技术研究院安徽合肥230027
出 版 物:《中国科学技术大学学报》 (JUSTC)
年 卷 期:2017年第47卷第8期
页 面:635-643页
核心收录:
学科分类:08[工学] 0802[工学-机械工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 081202[工学-计算机软件与理论] 0801[工学-力学(可授工学、理学学位)]
摘 要:Linux内核调度器的调度开销巨大,无法满足实时应用需求.为此设计并实现了基于多核Linux的用户态实时多任务调度框架ULight.ULight共包括三个核心模块:多任务调度模块、定时器模块以及用户态中断处理模块.多任务调度模块在Linux用户态提供基于优先级可抢占的实时多任务调度方案,旨在减少任务调度和切换开销;定时器模块则为多任务调度提供高精度的定时服务,以支持分时调度和任务休眠,并提供更多的抢占点;用户态中断处理模块通过在内核态和用户态之间构造中断处理的快速通道,使用户态任务可以直接处理硬件中断,保证中断处理的实时性和高效性.实验表明,ULight的任务切换效率明显优于Linux的线程切换效率;定时系统可以提供精度为20μs的稳定的定时服务;用户态中断处理模块能够在用户态完成对硬件中断的快速响应.