改善嵌入式linux实时性能的方法研究 

改善嵌入式linux实时性能的方法研究 

ID:11540918

大小:48.50 KB

页数:0页

时间:2018-07-12

改善嵌入式linux实时性能的方法研究 _第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《改善嵌入式linux实时性能的方法研究 》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、改善嵌入式Linux实时性能的方法研究摘要:分析了Linux的实时性,针对其在实时应用中的技术障碍,在参考了与此相关研究基础上,从三方面提出了改善Linux实时性能的改进措施。为提高嵌入式应用响应时间精度,提出两种细化Linux时钟粒度方法;为增强系统内核对实时任务的响应能力,采用插入抢占点和修改内核法增强Linux内核的可抢占性;为保证硬实时任务的时限要求,把原Linuux的单运行队列改为双运行行队列,硬实时任务单独被放放在一个队列中,并采用MLLF调度算法代替原内核的FFIFO调度算法。关键键词:Lin

2、ux;实时性;;调度策略;抢占1 引引言目前,无论是在日常常生活,还是在工业控制,航航空航天,军事等方面,嵌入入式系统都有着非常广泛的应应用。嵌入式系统目前主要有有:Windows CE、、VxWorks、QNX等等,它们都具有较好的实时性性、系统可靠性、任务处理随随机性等优点,但是它们的价价格普遍偏高。而嵌入式Liinux以其非常低廉的价格格,可以大大的降低成本,逐逐渐成为嵌入式操作系统的首首选。但是,作为通用操作系系统的Linux,由于其在在实时应用领域的技术障碍,,要应用在嵌入式领域,还必必须对Lin

3、ux内核作必要要的改进。许多嵌入式设备都都要求与外部环境有硬实时的的交互能力,将最初按照分时时系统目标设计的Linuxx 10/10改造成能支持硬实时性的的操作系统显得十分重要。幸幸运的是, Linux 及及其相关项目的开放源码特征征为深入研究其内核并加以改改造提供了可行性, 可以修修改Linux 内核中的各各个模块以达到满足嵌入式应应用的需求,提高软件方面的的开发速度。目前,改善Liinux内核的设计与实现,,使其适用于实时领域吸引了了许多研究和开发人员的注意意力[1-4]。常用的实时时性改造方法是采用双

4、核方法法,这种方法的弊端在于实时时任务的开发是直接面向提供供精确实时服务的小实时核心心的,而不是功能强大的常规规Linux核心。基于此,,近年来修改核的方法越来越越受到科研人员的重视,这种种方法是基于已有Linuxx系统对于软件开发的支持,,进行源代码级修改而使Liinux变成一个真正的实时时操作系统。本文分析了标准准Linux在实时应用中的的技术障碍,参考了修改核方方法的思想,从内核时钟管理理、内核的抢占性、内核调度度算法三方面论述了改善标准准Linux实时性能的方法法。Linux在实时时应用中的技术障碍

5、Linnux的实时性分析Linuux作为一个通用操作系统,,主要考虑的是调度的公平性性和吞吐量等指标。然而,在在实时方面它还不能很好地满满足实时系统方面的需要,其其本身仅仅提供了一些实时处处理的支持,这包括支持大部部分POSIX标准中的实时时功能,支持多任务、多线程程,具有丰富的通信机制等;;同时也提供了符合POSIIX标准的调度策略,包括FFIFO调度策略、时间片轮10/10轮转调度策略和静态优先级抢抢占式调度策略。Linuxx区分实时进程和普通进程,,并采用不同的调度策略。为了同时支持实时和非实时两两种

6、进程,Linux的调度度策略简单讲就是优先级加上上时间片。当系统中有实时进进程到来时,系统赋予它最高高的优先级。体现在实时性上上,Linux采用了两种简简单的调度策略,即先来先服服务调度和时间片轮转调度。。具体是将所有处于运行状态态的任务挂接在一个run--queue队列中,并将将任务分成实时和非实时任务务,对不同的任务,在其任务务控制块task-struuct中用一个policyy属性来确定其调度策略。对对实时性要求较严的硬实时任任务采用SCHED-FIFFO调度,使之在一次调度后后运行完毕。对普通非实时

7、进进程,Linux采用基于优优先级的轮转策略。在实时时应用中的技术障碍尽管Linux本身提供了了一些支持实时性的机制,然然而,由于Linux系统是是以高的吞吐量和公平性为追追求目标,基本上没有考虑实实时应用所要满足的时间约束束,它只是提供了一些相对简简单的任务调度策略。因此,,实时性问题是将Linuxx应用于嵌入式系统开发的一一大障碍,无法在硬实时系统统中得到应用。Linux在在实时应用中的技术障碍具体体表现在:Linux系统统时钟精度太过粗糙,时钟中中断周期为10ms,使得其其时间粒度过大,加大了任务务响

8、应延迟。Linux的的内核是不可抢占的,当一10/10一个任务通过系统调用进入内内核态运行时,一个具有更高高优先级的进程,只有等待处处于核心态的系统调用返回后后方能执行,这将导致优先级级逆转。实时任务执行时间的的不确定性,显然不能满足硬硬实时应用的要求。Linnux采用对临界区操作时屏屏蔽中断的方式,在中断处理理中是不允许进行任务调度的的,从而抑制了系统及时响应应外部操作的能力。缺乏有有效的实时任务调度机制和调调

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。