一种多核平台下的用户级实时多任务库  被引量:3

A User-level Real-time Task Library on Multicore

在线阅读下载全文

作  者:吴志强[1,2,3] 黄章进[1,2,3] 顾乃杰[1,2,3] 张旭[1,2,3] 

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

出  处:《小型微型计算机系统》2015年第7期1438-1443,共6页Journal of Chinese Computer Systems

基  金:国家"核高基"重大专项项目(2009ZX01028-002-003-005)资助;高等学校学科创新引智计划项目(B07033)资助

摘  要:针对Linux系统中线程的创建、调度、同步开销较大而无法满足一些实时应用的问题,在ARM和X86多核平台下设计实现了一种基于优先级位图调度且可抢占的多任务库(Utask).该库通过在用户态为实时任务提供任务的创建、优先级位图调度、快速的上下文切换和高性能信号量等操作,减少了实时任务运行过程中对内核空间的访问次数,提高了任务管理的效率,在Linux用户空间提供了一种高效的实时运行环境,且便于在不同内核版本的Linux操作系统中移植.实验表明,与内核级线程库(Pthread)和当前主流的用户级任务库(Libtask)相比,该库大大减少了任务创建、切换和同步的开销,提高了任务的实时性.As for the large overhead caused by creating,scheduling and synchronizing threads,which cannot satisfy some real-time applications' requirements in Linux system,this paper designs and implements a task library( Utask) supporting preemptive and prioritybased bitmap schedule on ARM and X86 multicore system. By supporting task creation,priority bitmap scheduling,fast context-switch and efficient synchronization in userspace,the library reduces the access to kernel address space during the running of real-time applications and improves the efficiency of task managing and supports an efficient real-time runtime environment in Linux usersapce. The library can be easily ported to other Linux operating systems with different kernel versions. Experiments showthat the overhead of task creation,switch and synchronization has been drastically reduced in comparison with kernel-level thread library( Pthread) and current main user-level task library( Libtask) and the real-time of task has been improved.

关 键 词:用户级多任务 上下文切换 实时性 多核平台 位图调度 

分 类 号:TP391[自动化与计算机技术—计算机应用技术]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

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