- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
一种多核ARM平台下用户态定时器的实现
喻诗祥;顾乃杰;张旭;曹越
【摘要】在ARM平台下,系统提供的posix-timer误差较大,难以满足实时要求,而
且传统的Linux用户态定时器通过系统调用及信号传递的方式向进程提供定时服
务,当定时器使用规模较大时,进程会在内核态用户态间频繁切换.针对上述问题,提出
并实现一种基于多核ARM平台的新型用户态定时器方案.该方案采用一种新的时
间轮数据结构,通过内核态与用户态共享内存等方式向进程提供服务,避免不必要的
信号传递,有效地缓解频繁状态切换问题.实验结果表明,该方案保持微秒级的定时精
度,定时误差相比posix-timer明显降低.
【期刊名称】《计算机工程》
【年(卷),期】2015(041)001
【总页数】6页(P19-23,30)
【关键词】Linux用户态;定时器;多核;ARM平台;时间轮;共享内存
【作者】喻诗祥;顾乃杰;张旭;曹越
【作者单位】中国科学技术大学计算机科学技术学院,合肥230027;中国科学技术
大学安徽省计算与通信软件重点实验室,合肥230027;中国科学技术大学先进技术
研究院,合肥230027;中国科学技术大学计算机科学技术学院,合肥230027;中国科
学技术大学安徽省计算与通信软件重点实验室,合肥230027;中国科学技术大学先
进技术研究院,合肥230027;中国科学技术大学计算机科学技术学院,合肥230027;
中国科学技术大学安徽省计算与通信软件重点实验室,合肥230027;中国科学技术
大学先进技术研究院,合肥230027;中国科学技术大学计算机科学技术学院,合肥
230027;中国科学技术大学安徽省计算与通信软件重点实验室,合肥230027;中国
科学技术大学先进技术研究院,合肥230027
【正文语种】中文
【中图分类】TP391
定时器作为Linux操作系统提供的一种定时服务机制,被广泛的应用于各种内核及
用户应用程序中,其主要功能是实现一个给定的函数在给定的定时时长用完后被调
用执行。在Linux系统中,定时器分为内核态定时器和用户态定时器。内核态定时
器在内核态被使用,如早期Linux内核提供的低精度经典定时器及后期Linux内核
提供的高精度定时器。用户态定时器由进程在用户态创建使用,一般在内核态定时
器的基础上实现,Linux用户态可以调用的定时器接口有setitimer、alARM系统调
用以及posix-timer接口。
衡量一个定时器系统好坏的主要标准有定时精度和定时误差,所谓定时精度是指定
时器所能进行最小时间的定时操作,定时误差指定时器实际定时时长与预定定时时
长之间的时间差[1-2]。在实时操作系统中,要实现对高精度实时任务的精确控制[3],
保证事件在截止时间之前得到响应,定时器精度及定时误差显得尤为重要。由于
Linux系统具有功能强大、开源、支持多种硬件平台等优势,很多实时操作系统是
在Linux的基础上改造而来[4-5]。本文针对Linux下定时器实现机制的相关工作
及其优缺点进行研究,提出并实现一种基于多核ARM平台的新型用户态定时器机
制。
在早期Linux内核(Linux-2.6.16之前)中,Linux内核定时器的实现是基于系统周
期性时钟中断,系统时钟中断由外部时钟源周期性的发出,时钟中断的频率由内核配
置参数Hz决定。在ARM平台上,Hz一般被配置为128,即每秒128次时钟中断。
针对每个核上的定时器,采用经典时间轮数据结构,即系统根据其粗略到期时间(到期
时刻的jiffies)的远近分类至5个不同的组中,在组内再根据定时器到期的具体到期
时刻将定时器构建为若干个链表,如图1所示。
随着时间的推移,当到期时间较近的组中的所有定时器被处理完之后,再从到期时间
较远的组中将定时器依次前推,重新补足至到期时间较近的组中。早期内核定时器
的精度和误差都与Hz相关,首先,系统在每次时钟中断中对到期定时器进行处理,即
每1/Hz秒处理一次到期定时器,其次,定时器计时单位基于jiffies变量,定时器只能
处理1/Hz秒整数倍的定时操作。如果Hz值设置较小,定时精度只能达到毫秒级别,
不能满足实时应用需求;如果Hz值过大,将使时钟中断更加频繁的产生,减少了处理
您可能关注的文档
最近下载
- D-ZD2010发电厂汽水管道支吊架设计手册制造图册-中国电力规划.pdf
- 2025中考语文名著阅读专题06 《昆虫记》真题练习(单一题)(学生版+解析版).docx
- 仁爱版七年级上册英语完形填空、阅读理解专题训练100题含答案.docx
- 第八讲 新闻事业与新闻事业管理1.ppt VIP
- Q∕GDW 11902-2018 -光伏发电资源评估方法.pdf
- 义务教育版(2024)七年级全一册信息科技 第5课网络协议分层设 教案.docx VIP
- 公路桥涵设计通用规范(JTG_D60-2004).pdf
- 责任督学双减作业管理督导典型案例.docx
- IE-产能提升改善报告-----2.ppt
- 2020梯形螺纹 第2分:直径与螺距系列-编制说明.pdf VIP
文档评论(0)