检索规则说明:AND代表“并且”;OR代表“或者”;NOT代表“不包含”;(注意必须大写,运算符两边需空一格)
检 索 范 例 :范例一: (K=图书馆学 OR K=情报学) AND A=范并思 范例二:J=计算机应用与软件 AND (U=C++ OR U=Basic) NOT M=Visual
作 者:张旭[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[自动化与计算机技术—计算机系统结构]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在链接到云南高校图书馆文献保障联盟下载...
云南高校图书馆联盟文献共享服务平台 版权所有©
您的IP:216.73.216.7