高中信息技术教学论文 改善嵌入式Linux实时性能的方法研究

上传人:jiups****uk12 文档编号:52311738 上传时间:2018-08-20 格式:DOC 页数:7 大小:28.50KB
返回 下载 相关 举报
高中信息技术教学论文 改善嵌入式Linux实时性能的方法研究_第1页
第1页 / 共7页
高中信息技术教学论文 改善嵌入式Linux实时性能的方法研究_第2页
第2页 / 共7页
高中信息技术教学论文 改善嵌入式Linux实时性能的方法研究_第3页
第3页 / 共7页
高中信息技术教学论文 改善嵌入式Linux实时性能的方法研究_第4页
第4页 / 共7页
高中信息技术教学论文 改善嵌入式Linux实时性能的方法研究_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《高中信息技术教学论文 改善嵌入式Linux实时性能的方法研究》由会员分享,可在线阅读,更多相关《高中信息技术教学论文 改善嵌入式Linux实时性能的方法研究(7页珍藏版)》请在金锄头文库上搜索。

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

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

3、能力, 将最初按照分时系统目标设计的 Linux 改 造成能支持硬实时性的操作系统显得十分 重要。幸运的是, Linux 及其相关项目的 开放源码特征为深入研究其内核并加以改 造提供了可行性, 可以修改 Linux 内核中 的各个模块以达到满足嵌入式应用的需求 ,提高软件方面的开发速度。目前,改善 L inux 内核的设计与实现,使其适用于实时 领域吸引了许多研究和开发人员的注意力 1-4。常用的实时性改造方法是采用双核 方法,这种方法的弊端在于实时任务的开 发是直接面向提供精确实时服务的小实时 核心的,而不是功能强大的常规 Linux 核 心。基于此,近年来修改核的方法越来越 受到科研人员的

4、重视,这种方法是基于已用心 爱心 专心3有 Linux 系统对于软件开发的支持,进行 源代码级修改而使 Linux 变成一个真正的 实时操作系统。本文分析了标准 Linux 在 实时应用中的技术障碍,参考了修改核方 法的思想,从内核时钟管理、内核的抢占 性、内核调度算法三方面论述了改善标准 L inux 实时性能的方法。 2 2 LinuxLinux 在实时应用中的技术障碍在实时应用中的技术障碍2.12.1 LinuxLinux 的实时性分析的实时性分析Linux 作为一个通用操作系统,主要考虑的 是调度的公平性和吞吐量等指标。然而, 在实时方面它还不能很好地满足实时系统 方面的需要,其本身仅

5、仅提供了一些实时 处理的支持,这包括支持大部分 POSIX 标 准中的实时功能,支持多任务、多线程, 具有丰富的通信机制等;同时也提供了符 合 POSIX 标准的调度策略,包括 FIFO 调度 策略、时间片轮转调度策略和静态优先级 抢占式调度策略。Linux 区分实时进程和普 通进程,并采用不同的调度策略。用心 爱心 专心4为了同时支持实时和非实时两种进程,Lin ux 的调度策略简单讲就是优先级加上时间 片。当系统中有实时进程到来时,系统赋 予它最高的优先级。体现在实时性上,Lin ux 采用了两种简单的调度策略,即先来先 服务调度(SCHED-FIFO)和时间片轮转调 度(SCHED-RR

6、)。具体是将所有处于运行 状态的任务挂接在一个 run-queue 队列中, 并将任务分成实时和非实时任务,对不同 的任务,在其任务控制块 task-struct 中 用一个 policy 属性来确定其调度策略。对 实时性要求较严的硬实时任务采用 SCHED-F IFO 调度,使之在一次调度后运行完毕。对 普通非实时进程,Linux 采用基于优先级的 轮转策略。2.22.2 LinuxLinux 在实时应用中的技术障碍在实时应用中的技术障碍尽管 Linux 本身提供了一些支持实时性的 机制,然而,由于 Linux 系统是以高的吞 吐量和公平性为追求目标,基本上没有考 虑实时应用所要满足的时间约

7、束,它只是 提供了一些相对简单的任务调度策略。因用心 爱心 专心5此,实时性问题是将 Linux 应用于嵌入式 系统开发的一大障碍,无法在硬实时系统中 得到应用。Linux 在实时应用中的技术障碍 具体表现在:(1)Linux 系统时钟精度太过粗糙,时钟 中断周期为 10ms,使得其时间粒度过大, 加大了任务响应延迟。(2) Linux 的内核是不可抢占的, 当一个 任务通过系统调用进入内核态运行时,一个 具有更高优先级的进程,只有等待处于核 心态的系统调用返回后方能执行,这将导 致优先级逆转。实时任务执行时间的不确 定性,显然不能满足硬实时应用的要求。(3) Linux 采用对临界区操作时屏

8、蔽中断 的方式,在中断处理中是不允许进行任务 调度的,从而抑制了系统及时响应外部操 作的能力。(4) 缺乏有效的实时任务调度机制和调 度算法。用心 爱心 专心6针对这些问题,利用 Linux 作为底层操作 系统,必须增强其内核的实时性能,从而 构建出一个具有实时处理能力的嵌入式系 统,适应嵌入式领域应用的需要。2.32.3 当前增强当前增强 LinuxLinux 内核实时性的主流技内核实时性的主流技 术术近年来,人们对于 Linux 内核实时性改造 提出了一些方法和设想,它们采用了不同 的思路和技术方案。归纳总结,支持 Linux 的硬实时性一般有两种策略5:一种是直 接修改 Linux 内核

9、,重新编写一个由优先级 驱动的实时调度器(Real-time Scheduler ),替换原有内核中的进程调度器 sched.c ,KURT 是采用这一方案较为成功的实时 Li nux 操作系统;另外一种是在 Linux 内核之 外, 以可加载内核模块(Loadable Kernel Module)的形式添加实时内核,确保其高 响应特性,实时内核接管来自硬件的所有 中断,并依据是否是实时任务决定是否直 接响应。新墨西哥科技大学的 RT-Linux, 就是基于这种策略而开发的。以上两种策用心 爱心 专心7略有其借鉴之处,但如果综合考虑任务响 应、内核抢占性、实时调度策略等几个影 响操作系统实时性能的重要方面,它们还 不能很好的满足实时性问题。为了增强嵌 入式 Linux 实时性能,下文将就内核时钟 精度、内核的抢占性以及内核调度算法等 相关问题重点研究相应的解决方法。3 3 改善嵌入式改善嵌入式 LinuxLinux 实时性能的方法实时性能的方法针对 Linux 在实时应用中的技术障碍,将 L inux 改造成为支持实时任务的嵌入式操作 系统, 主要从下面三个方面进行着手。

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号