一种Linux用户态实时多任务调度框架  被引量:4

A real-time multi-task scheduling framework in Linux user space

在线阅读下载全文

作  者:张旭[1,2,3] 顾乃杰[1,2,3] 苏俊杰[1,2,3] 

机构地区:[1]中国科学技术大学计算机科学与技术学院,安徽合肥230027 [2]安徽省计算与通信软件重点实验室,安徽合肥230027 [3]中国科学技术大学先进技术研究院,安徽合肥230027

出  处:《中国科学技术大学学报》2017年第8期635-643,共9页JUSTC

摘  要:Linux内核调度器的调度开销巨大,无法满足实时应用需求.为此设计并实现了基于多核Linux的用户态实时多任务调度框架ULight.ULight共包括三个核心模块:多任务调度模块、定时器模块以及用户态中断处理模块.多任务调度模块在Linux用户态提供基于优先级可抢占的实时多任务调度方案,旨在减少任务调度和切换开销;定时器模块则为多任务调度提供高精度的定时服务,以支持分时调度和任务休眠,并提供更多的抢占点;用户态中断处理模块通过在内核态和用户态之间构造中断处理的快速通道,使用户态任务可以直接处理硬件中断,保证中断处理的实时性和高效性.实验表明,ULight的任务切换效率明显优于Linux的线程切换效率;定时系统可以提供精度为20μs的稳定的定时服务;用户态中断处理模块能够在用户态完成对硬件中断的快速响应.Task scheduling in Linux kernel has tremendous overhead, and thus cannot fulfill therequirement of real-time applications. ULight, a real-time multi-task scheduling tramework running in Linux user space was proposed to conquer this problem. ULight consists of three core modules: multi-task scheduling module, timer module and user-mode interrupt handling module. The multi-task scheduling module provides priority-based preemptive scheduling in Linux user space to reduce the overhead of task switch and scheduling the timer module introduces a high-resolution timer system to support time-sharing scheduling, enable task sleep and increase preemption points the user-mode interrupt handling module builds up an channel between kernel and user space, which enables user-mode threads to handle interruptsdirectly and efficiently in Linux user space. The experiment results show that, ULight brings much les1 overhead than Linux Pthread in terms of task scheduling and keeps the precision of the timer stable within 20 μs; and can response to interrupts rapidly in user space.

关 键 词:多任务调度 实时性 高精度定时器 用户态中断处理 

分 类 号:TP301[自动化与计算机技术—计算机系统结构]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象