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

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

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
强实时应用环境下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提供所有剩余的功能。 但是,为了与Linux

文档评论(0)

KWZoJLfpjN + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档