一种嵌入式Linux系统性能优化的方法及装置的制造方法

文档序号:9616160阅读:504来源:国知局
一种嵌入式Linux系统性能优化的方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及一种嵌入式Linux系统性能优化的方法及装置。
【背景技术】
[0002]目前,无论是在日常生活,还是在工业控制、航空航天、军事等方面,嵌入式系统都有着非常广泛的应用。嵌入式系统目前主要有:Windows CE、VxWorks、QNX等,它们都具有较好的实时性、系统可靠性、任务处理随机性等优点,但是它们的价格普遍偏高。而嵌入式Linux因其非常低廉的价格,可以大大的降低成本,逐渐成为嵌入式操作系统的首选。但是,作为通用操作系统的Linux,由于其在实时应用领域的技术障碍,要应用在嵌入式领域,还必须对Linux内核作必要的改进。
[0003]常用的实时性改造方法是采用双核方法,这种方法的弊端在于实时任务的开发是直接面向提供精确实时服务的小实时核心的,而不是功能强大的常规Linux核心。基于此,近年来修改核的方法越来越受到科研人员的重视,这种方法是基于已有Linux系统对于软件开发的支持,进行源代码级修改,使Linux变成一个真正的实时操作系统。
[0004]但是,现有的策略还不能很好地解决嵌入式Linux系统的实时性问题,因此,提供一种嵌入式Linux系统性能优化的方法及装置是非常有必要的。

【发明内容】

[0005]本发明的目的是提供一种嵌入式Linux系统性能优化的方法及装置,以增强嵌入式Linux系统的实时性能。
[0006]为解决上述技术问题,本发明提供一种嵌入式Linux系统性能优化的方法,包括:
[0007]将进入系统的所有任务按照实时性分为:硬实时任务、软实时任务以及非实时任务三类;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务,所述软实时任务为可不在预设时期内完成的任务;
[0008]将处于运行状态的三类任务分别放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及所述非实时任务放入第二队列;
[0009]针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
[0010]可选地,还包括:
[0011]细化Linux系统的时钟粒度。
[0012]可选地,所述细化Linux系统的时钟粒度包括:
[0013]通过直接修改内核定时参数的初值来细化Linux系统的时钟粒度。
[0014]可选地,所述细化Linux系统的时钟粒度包括:
[0015]通过对可编程中断定时器或可编程中断控制器进行改进,将毫秒级的粗粒度定时器变为微秒级的细粒度定时器。
[0016]可选地,还包括:
[0017]在Linux内核中增加抢占点或直接将Linux内核改造成可抢占式内核。
[0018]可选地,所述针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理包括:
[0019]采用优先级调度算法对第一队列中的任务进行处理。
[0020]可选地,所述优先级调度算法为最小松弛时间优先调度算法。
[0021]可选地,所述针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理包括:
[0022]采用内核的时间片轮转法调度算法对第二队列中的任务进行处理。
[0023]本发明还提供了一种嵌入式Linux系统性能优化的装置,包括:
[0024]分类模块,用于将进入系统的所有任务按照实时性分为三类:硬实时任务、软实时任务以及非实时任务;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务,所述软实时任务为可不在预设时期内完成;
[0025]调度模块,用于将处于运行状态的三类任务放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及非实时任务放入第二队列;
[0026]处理模块,用于针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
[0027]本发明所提供的嵌入式Linux系统性能优化的方法及装置,通过将进入系统的所有任务按照实时性分为硬实时任务、软实时任务以及非实时任务三类;硬实时任务要求系统确保任务执行最坏情况下的执行时间,即必须满足实时事件的响应时间的截止期限,否贝1J,将引发致命的错误;而软实时任务是指统计意义上的实时,一般整体吞吐量大或整体响应速度快,但不能保证特定任务在指定时期内完成。
[0028]将处于运行状态的三类任务分别放入两个队列中,将硬实时任务放入第一队列,将软实时任务以及非实时任务放入第二队列;然后针对不同的实时性任务,分别采用不同的调度方法对第一队列以及第二队列中的任务进行处理。本发明把原Linux的单运行队列改为双运行队列,将硬实时任务单独放在一个队列中进行处理,保证了硬实时任务的时限要求,从而改善优化了 Linux的实时性能。
【附图说明】
[0029]图1为本发明所提供的嵌入式Linux系统性能优化的方法的一种【具体实施方式】的流程图;
[0030]图2为本发明所提供的嵌入式Linux系统性能优化的方法的另一种【具体实施方式】的流程图;
[0031]图3为本发明所提供的嵌入式Linux系统性能优化的装置的一种【具体实施方式】的结构框图。
【具体实施方式】
[0032]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033]本发明所提供的嵌入式Linux系统性能优化的方法的一种【具体实施方式】的流程图如图1所示,该方法包括:
[0034]步骤S101:将进入系统的所有任务按照实时性分为:硬实时任务、软实时任务以及非实时任务三类;其中,所述硬实时任务为必须满足实时事件的响应时间在截止期限之内的任务,所述软实时任务为可不在预设时期内完成的任务;
[0035]步骤S102:将处于运行状态的三类任务分别放入两个队列中,将所述硬实时任务放入第一队列,将所述软实时任务以及非实时任务放入第二队列;
[0036]步骤S103:针对不同的实时性任务,分别采用不同的调度方法对所述第一队列以及所述第二队列中的任务进行处理。
[0037]本发明所提供的嵌入式Linux系统性能优化的方法,通过将进入系统的所有任务按照实时性分为硬实时任务、软实时任务以及非实时任务三类;硬实时任务要求系统确保任务执行最坏情况下的执行时间,即必须满足实时事件的响应时间的截止期限,否则,将引发致命的错误;而软实时任务是指统计意义上的实时,一般整体吞吐量大或整体响应速度快,但不能保证特定任务在指定时期内完成。
[0038]将处于运行状态的三类任务分别放入两个队列中,将硬实时任务放入第一队列,将软实时任务以及非实时任务放入第二队列;然后针对不同的实时性任务,分别采用不同的调度方法对第一队列以及第二队列中的任务进行处理。本发明把原Linux的单运行队列改为双运行队列,将硬实时任务单独放在一个队列中进行处理,保证了硬实时任务的时限要求,从而改善优
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1