linux强实时,强实时应用环境VxWorks, Linux, RTAI和Xenomai系统的性能比较.doc

强实时应用环境VxWorks, Linux, RTAI和Xenomai系统的性能比较

强实时应用环境下VxWorks, Linux, RTAI和Xenomai系统的性能比较

A. Barbalace, A. Luchetta, G. Manduchi, M. Moro, A. Soppelsa, and C. Taliercio

摘要:使用配置MPC7455 PowerPC处理器的VMEbus MVME5500 开发板对Wind River VxWorks, Linux, RTAI和 Xenomai四种不同操作系统进行性能测试。以一个时间实时应用的框架为例对中断延迟,重调度和程序间通信时间进行比较。

对Gb以太网通信的性能测试也在目标板上进行。为达成此目的,我们将Linux IP stack 和 RTnet,Xenomai和 RTAI的一种开源强实时通信协议移植到所用的系统中。

测试结果显示被测的开源软件适用于强实时应用环境。

关键词:实时系统,Linux, RTAI, Xenomai, ADEOS, RTnet, VxWorks, PowerPC.

简介

自1998年以来,实时反馈控制系统已经被广泛应用于RFX-mod 实验。RFX-mod是一个用于研究磁约束热核聚变的环形装置,坐落于意大利的帕多瓦。目前在使用的有7个控制单元,每个单元都包含一个使用摩托罗拉MVME5500单板机和其他ADC/DAC转换器以及其他数字接口板的模组箱。控制单元组成控制网络,数据在各单元间进行实时交换。一个提供了通用功能以及数据处理和通信功能的软件框架已经在VxWorks平台上搭建起来。VxWorks被广泛应用于物理学研究的原因包括:

·提供了一个集成开发环境,简化了开发过程。程序在被下载到目标系统之前可以在主系统中做开发和仿真。

·提供了一个强大的多任务化环境,任务有固定的优先级,可以通过一组丰富的进程间通信(IPC)机制进行通信。

·VxWorks的软件模式与UNIX非常相似,尤其是I/O和网络,对于熟练使用UNIX的开发者来说,编程变得非常简单。

但是,近年来,Linux系统的蓬勃发展使得将其应用于实时控制系统变得极富吸引力。但是对于数据采集,或者更广泛的说,对于所有不需要严格的时间确定性的任务,Linux已经被应用于科学实验当中。但是Linux的一些特性使其不能被直接应用于实时应用,例如:

·动态优先级。使用随时变动的优先级是解决分时的一个好方法,但是可能会使一个紧急事件无法足够快的拿到CPU权限。

·分页。可能会引入额外的延迟除非将页在内存中锁定。

·内存管理单元的重新映射。用户程序占用CPU时重新映射进入内存管理单元(MMU)的页面表会减缓上下文切换。

·粗粒度的同步。由于内核为非先发式,有时系统无法响应冗长的内核操作时。

最近的2.6版本Linux内核为以上问题提供了解决方案。事实上将固定优先级与过程子集想联系是可能的,这一版本的内核通过精确定义不可中断的程序段和自旋锁保护而不是禁止中断已经被定制为先发制人的了。此外Linux kernel 2.6提供了一个新的O调度的实现。考虑到交互可以被禁止,而且,给定了级别范围,优先级可以被固定,我们可以将Linux暂时考虑成一个软实时操作系统并因此可以被应用于许多可以忍受偶尔的系统响应延迟的场合。但是Linux 2.6 仍然不适用于聚变反应反馈控制这种强实时场合,在这种情况下,事实上,不可预测的反应时间可能恶化控制的质量,或者更糟糕的是,导致不可恢复的不稳定性。然而,在引用文献[4]和[5]中,借助脉冲性质的实验,Linux已经被成功的应用到了强实时场合。在这种情况下,大多数的时间过程控制系统不需要运行在实时模式。只有在等离子放电这一在大多数现有聚变实验中只持续数秒的过程中才需要实时控制。因此当需要进行实时操作时禁止中断是可行的,这实现了一个循环周期1~2μs的整体抖动。在禁用中断时,尤其要注意:代码和数据必须被锁定到内存中来防止页面错误,软件不能依赖系统服务控制I/O。因此除了轮询输入数据和写输出数据,控制代码不能与外部环境通信,对于一个固定的迭代次数,使用预配置的地址窗口。这个解决方案尽管在特定的应用程序成功,仍然有各种各样的原因使其不能被认为是一个结论,最主要的是因为在下一代聚变装置中,控制系统被期望用于控制长时间放电,或者准稳态过程。

Linux 系统的实时扩展

我们主要希望能找到一种方法,给Linux增加一些定义新的实时任务的可能性,从而保证在它们已经准备好运行时,能在一个确定的时间内获得控制。这个特性是由两个开源Linux扩展: RTAI和Xenomai提供。RTAI和Xenomai大多数概念相同(他们源自同一个项目),都代表而不是代替了Linux,一个结合Linux工作的额外的组件,处理的实时任务的调度,让Linux提供所有剩余的功能。

但是,为了与Lin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值