嵌入式Linux操作系统实时性能的改进.pdf

上传人:qwe****56 文档编号:74647326 上传时间:2023-02-27 格式:PDF 页数:4 大小:279.30KB
返回 下载 相关 举报
嵌入式Linux操作系统实时性能的改进.pdf_第1页
第1页 / 共4页
嵌入式Linux操作系统实时性能的改进.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《嵌入式Linux操作系统实时性能的改进.pdf》由会员分享,可在线阅读,更多相关《嵌入式Linux操作系统实时性能的改进.pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第2 2 卷第2 期2 0 1 0 年6 月湖南文理学院学报(自然科学版)J o u r n a lo fH u n a nU n i v e r s i t yo f A r t sa n dS c i e n c e(N a t u r a lS c i e n c eE d i t i o n)V b l 2 2 N o 2J u n 2 0 1 0d o i:1 0 3 9 6 9 匀i s s n。1 6 7 2-6 1 4 6 2 0 1 0 0 2 0 2 6嵌入式L i n u x 操作系统实时性能的改进谢平(娄底职业技术学院电子信息工程系,湖南娄底,4 1 7 0 0 0)摘

2、要:分析了嵌入式L i n u x 在实时应用中存在的缺陷,这些缺陷包括内核不可抢占性、没有加入时间限制、优先级反转现象、关中断问题、时钟中断的精度不高等通过采取4 种方法即双内核策略、利用软中断模拟技术、改善实时调度策略和细化时钟粒度等对嵌入式L i n u x 系统的实时性能进行了改进关键词:嵌入式系统;L i n u x;实时性中图分类号:T P3 11 1文献标识码:A文章编号:1 6 7 2 6 1 4 6(2 0 1 0)0 2 0 0 8 7 0 3A ni m p r o v e m e n to fr e a l t i m ep e r f o r m a n c ef o

3、 re m b e d d e dL i n u xo p e r a t i o ns y s t e mX I E P i n g(E l e c t r o n i ca n dI n f o r m a t i o nE n g i n e e r i n gD e p a r t m e n t,L o u d iV o c a t i o n a la n dT e c h n i c a lC o l l e g e,L o u d i4 17 0 0 0,C h i n a)A b s t r a c t:T h ed i s a d v a n t a g e so fe m

4、 b e d d e dL i n u xi nr e a l t i m ea p p l i c a t i o n sa l ea n a l y z e d,w h i c hi n c l u d e se m p t i v ek e r n e l,t i m eu n c e r t a i n t y,c l o s ei n t e r r u p t i o n r e v e r s ep r i o r i t yp h e n o m e n o na n dt i m el o w e ra c c u r a c y F o u rm e n l o d sw

5、e r ep r e s e n t e dt oi m p r o v et h ep e r f o r m a n c eo fr e a l t i m es y s t e m sf r o mp r e e m p t i v ek e r n e l,s o f ti n t e r r u p ts i m u l a t i o nt e c h n o l o g y,t h er e a lt i m es c h e d u l i n gp o l i c ya n dt h et e s s e l l a t i o no fc l o c kg r a n u

6、l a r i t y K e yw o r d s:e m b e d d e do p e r a t i n gs y s t e m;L i n u x;r e a l-t i m ep e r f o r m a n c eL i n u x 以其源代码开放、内核模块化设计及内核的高度可裁减性等优良性能使其在嵌入式实时操作系统研究领域备受青睐因此,近年来嵌入式L i n u x 成为嵌入式系统方向上的一个研究热点但L i n u x 本身为分时操作系统,其系统目标为较好的平均响应时间和较高的吞吐量,将它应用于嵌入式实时环境有许多缺陷比如内核的不可抢占性、缺乏高精度的计时器、L i n

7、 u x 关闭中断等等所以,要想建立一个具有实时应用能力的嵌入式L i n u x 操作系统,必须对L i n u x 底层操作系统进行实时化改造1 实时系统的分类实时系统是指一个能够在给定的时限(D e a d l i n e)内完成系统功能以及对内部或外部环境、同步或异步时间做出正确响应的系统l l J 也就是说,实时系统不仅要求系统对内外部环境的响应是准确的,而且要求系统响应的时间和时序也必须是严格保证的实时系统最重要的特点就是实时性。即系统的正确性不仅依赖于计算的逻辑结果的正确性,还取决于输出结果的及时性【2】按对实时性能要求的程度,实时系统可分为2类a 硬实时系统:具有明确的实时约束

8、,系统必须对事件做出及时的反应,在某个限定的时刻之前不能完成任务将造成灾难性的后果,比如航空航天控制系统、医疗设备控制系统、核工业控制系统等b 软实时系统:虽然也对时间敏感,但偶尔发生不能满足严格实时要求的少量的超时现象也是允许的,如大多数家用电子设备当然,如果超时现象大于一定比例也是不可接受的,如网络传输系收稿日期:2 0 1 0 0 6 0 9作者简介:谢#-(1 9 7 4-),男,实验师,研究方向为嵌入式与无线通信万方数据8 8湖南文理学院学报(自然科学版)2 0 1 0 定统多媒体处理系统等3改进嵌入式L i n u x 实时性能的方法2 嵌入式L i n u x 操作系统在实时方面

9、存在的缺陷大多数的嵌入式L i n u x 操作系统都是从标准L i n u x 裁剪或修补而来,而标准L i n u x 操作系统其最初的设计目标是通用分时操作系统,并非为实时应用而设计。它的目标是达到最优的平均性能这个目标通常与实时系统的低延迟和高可预测性的要求是相背的因此一般的嵌入式L i n u x 操作系统并非实时操作系统这主要体现在以下几个方面a 内核不可抢占性L i n u x 操作系统内核本身是非抢占的,L i n u x 下分用户态和核心态2 种模式,操作系统主要运行在核心态,而用户程序则运行在用户态当进程运行在用户态时,可被优先级更高的进程抢占但当它进入核心态时,其它用户态

10、进程即使其优先级比核心态进程更高也不能抢占它L i n u x 这样设计可以为非实时系统带来更多方便,但对于实时系统则造成任务切换延迟的不确定性b L i n u x 虽然给实时进程提供了较高的优先级,但是没有加入时间限制例如:完成的最后期限、应在多长时间内完成、执行周期等等同时,其它大量的非实时进程也可能对实时进程造成阻塞,无法确保实时进程的响应时间c 优先级反转现象L i n u x 系统不提供优先级继承等策略。因此优先级反转的现象将使高优先级的实时进程可被低优先级的进程阻塞,从而造成其执行时间的不确定d 关中断的问题在系统调用中,为了保护临界区资源,L i n u x 会长时间关掉中断如

11、果低优先级的进程由于进入临界区而关闭了中断,那么即使有高优先级实时进程的中断发生,系统也无法响应L i n u x 采用对临界区操作时屏蔽中断的这种方式,在中断处理中不允许进行任务调度,从而抑制了系统及时响应外部操作的能力在实时应用中,这是个十分严重的问题e 时钟中断的精度不高时钟管理是操作系统的脉搏,任务的执行和中止在很多情况下都是由时钟直接或间接唤起的,它还是进程调度的重要依据L i n u x 系统缺少细粒度和多模式的定时器,L i n u)【一般提供周期为1 0 0H z 的定时中断,因此其时间精度最高即为1 0m S,使得其时间粒度过大,加大了任务响应延迟,这远远不能满足一些对时间精

12、度要求严格的实时应用 3 13 1 采取双内核策略为了解决L i n u x 实现硬实时的最大障碍,使L i n u x 内核成为完全可被抢占的实时内核,典型的实现方案就是双内核结构双内核结构包括实时内核和L i n u x 内核,使用实时内核来运行实时任务,L i n u x 内核来运行非实时任务例如:对于实时数据采样分析而言,利用实时内核运行一个实时任务来完成数据采集,另一个实时任务完成数据分析和控制输出功能;同时利用L i n u x 内核上运行的界面来进行数据显示如图1 所示在L i n u x 内核和硬件之间加上小的实时内核,由它来执行中断的管理,提供一些必要的功能,如创建底层任务、

13、中断服务程序等。并且为底层任务、I S R 和L i n u x 进程之间进行通信排队:而L i n u x 内核本身则成为优先级最低的I d l e t a s k,将实时性要求较强的应用编写成实时任务,在实时内核上直接运行L i n u x 内核可以被优先级更高的实时任务抢占修改L i n u x 内核主要有3 种方式:在L i n u x 内核中影响实时性的地方增加控制点,使内核在控制点可以被抢占,减少内核抢占延迟:将执行时间较长的系统划分为几个甚至是十几个较小的块分别执行,使实时任务随时中断非实时任务根据实际需要,增加部分功能这种双内核策略不干扰原L i n u x 实时功能的增强,新

14、增加的实时内核只需完成底层任务创建、中断服务程序,并为底层任务、I S R 和L i n u x 进程之间进行通信排队的工作双内核结构采用模块化设计,两个内核结合工作,小内核可以设计得很简单图1 双内核结构3 2 利用软中断模拟技术要在标准L i n u x 上增加硬实时功能,我们首先遇到的问题是L i n u x 勾核为达到同步使用关中断方式,混杂在一块的关和开中断操作将会造成中断分万方数据第2 期谢平嵌入式L i n u x 操作系统实时性能的改进派延迟的不确定性L i n u x 内核是一整块大的内核,在提供系统服务的各个部分之间没有一个保护的分界线因此,要限定关中断的时间非常困难【4】

15、通过在L i n u x 内核和硬件中断控制器之间加入一个中断模拟软件层可解决关中断的问题比如,在胙L i n u x 中将L i n u x 内核源代码中所有的s t i,c l i 和i r e t 指令用S S T I,S C L I 和S I R E T 宏代替,所有的硬件中断首先被模拟器捕获当硬件中断发生时,系统将设置中断模拟器中的一个变量或简单地记录此事件在一个事件表中,先不对其进行处理,而是立即将C P U 控制权返回给系统这个过程中,仅保存中断模拟程序所用的寄存器,把查找中断向量表和执行相应的中断服务程序的过程向后拖延,保证了正在运行中断任务的响应时间。使用此技术,中断发生时只

16、执行了简单的操作,中断服务时间缩短了很多而且,这样L i n u x 不直接控制硬件中断控制器,实时中断可以不经过模拟器处理,提高了实时任务的处理速度3 3 改善实时调度策略目前,对共享驱动调度的关注日益增多在这种调度策略中,每个任务被分配了一定的共享资源,参与调度的系统中所有的实时任务按照一定比例共享计算机资源将资源的共享作为调度策略考虑的一个因素,这在嵌入式系统中具有更重要的意义,因为嵌入式系统的C P U、带宽、内存、磁盘等系统资源在一般情况下是非常有限的因此,提出要实现一种调度方案,使其同时支持优先级调度、时间驱动调度和比例共享调度等3类调度策略在这种调度方案中,优先级调度器负责在每个

17、调度时机按优先级最高的原则从就绪队列中提取任务;时间驱动调度器是在操作系统底层提供时间表支持,此时间表包括了每个任务的起止时间;比例共享调度器是在操作系统底层提供任务的权值分配机制,该权值是针对C P U、带宽、内存、磁盘等系统资源进行计算的我们在这里建立一种调度器,用二阶调度法来支持多调度策略先在第一阶段构造一个属性的分配模块,完成属性分配,筛选出当前任务的调度属性:然后是一个调度器选择模块,完成响应于当前的调度属性的调度器的选择(图2)3 4 细化时钟粒度时钟粒度是制约内核实时性方面的主要因素之一。精确的计时是实时调度器正确操作所必须的,调度器通常要求在一个特定的时刻进行任务切换,计时的错

18、误将导致背离计划的调度,引起任务释放抖动标准L i n u x 系统时钟精度太过粗糙,时钟中断周期为1 0r n s,不能满足特定嵌入式应用领域中对于响应时间精度的要求因此,在实时L i n u x 应用中,需要细化其时钟粒度,我们可以采取以下2种方式解决时钟粒度精度不高的问题一是通过直接修改内核定时参数H z 的初值来细化时钟粒度。如将标准L i n u x 中内核定时参数改为1 00 0 0H z,则时钟粒度可以达到1 0 0p s,这种方式虽然会增加一些系统开销,但在强周期性环境下,对定时器的设置只需初始化一次,在一定程度下保证了处理效率;二是通过对可编程中断定时器进行编程或改换先进的可

19、编程中断控制器进行编程来改进L i n u x 时钟机制,以提高其时钟的分辨率,使毫秒级的粗粒度定时器变成微秒级的细粒度定时器调度器I 被选中,开始执行调度啦务1 JI 实时任务2 I-I 实时任务n屠疆孬翮一调度器图2 调度器模型4 结语优先级调度器时间调度器调度器L i n u x 虽为分时系统,但由于其源代码开放、价格低廉、功能强大,易于移植等优点,正成为嵌入式实时系统的新兴力量L i n u x 操作系统实时性能的逐步完善,必将提高实时系统的效率,从而必然大大促进嵌入式L i n u x 在后P C 时代信息电器、工业控制等领域的广泛应用同时,应用的需要也会进一步促进大量新型控制算法的

20、出现参考文献:【1】B u h rR 气B a i l e yDL I n t r o d u c t i o nt OR e a l t i m eS y s t e m s:F r o mD e s i g nt oN e t w o r k i n gw i t hc C H M】E n g l e w o o dC l i 任;mNJ:P r e n t i c eH a l l 1 9 9 9【2】叶以民,赵会斌,耿增强嵌入式系统中的实时操作系统啊测控技术,2 0 0 0,1 9(4):6-7【3】马季兰,刘勇嵌入式L i n u x 操作系统的实时性研究 J】计算机技术与发展,2

21、0 0 7,1 7(8):8 0 一8 4【4】董或先嵌入式L i n u x 操作系统的实时性能研究与改进【J】电脑学习,2 0 1 0(2):9 0 9 1 万方数据嵌入式Linux操作系统实时性能的改进嵌入式Linux操作系统实时性能的改进作者:谢平,XIE Ping作者单位:娄底职业技术学院,电子信息工程系,湖南,娄底,417000刊名:湖南文理学院学报(自然科学版)英文刊名:JOURNAL OF HUNAN UNIVERSITY OF ARTS AND SCIENCE(NATURAL SCIENCE EDITION)年,卷(期):2010,22(2)参考文献(4条)参考文献(4条)1.董彧先 嵌入式Linux操作系统的实时性能研究与改进期刊论文-电脑学习 2010(02)2.马季兰;刘勇 嵌入式Linux操作系统的实时性研究期刊论文-计算机技术与发展 2007(08)3.叶以民;赵会斌;耿增强 嵌入式系统中的实时操作系统期刊论文-测控技术 2000(04)4.Buhr R A;Bailey D L Introduction to Realtime Systems:From Design to Networking with C/C+1999 本文链接:http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com