| 网站首页 | 新闻 | SOPC | FPGA | DSP | ARM | 嵌入式操作系统 | 下载 | 网上商城 | 芯片价格参考 | 留言 | 论坛 | 网络协议 | 驱动设计 | 购买指南-HowtoBuy | 
您现在的位置: FPGA开发板&SOPC开发板-嵌入式控制研究室 >> 嵌入式操作系统 >> Linux >> 文章正文 用户登录 新用户注册
Rtems简介          【字体:
Rtems简介
作者:佚名    文章来源:21control    点击数:    更新时间:2006-4-5
RTEMS可谓嵌入式系统鼻祖,经过专家的评测,其性能毫不逊色于VxWorks, 远远把RtLinux甩在后面。

正文

RTEMS是前美国军方研制的嵌入式系统, 最早用于美国国防系统,早期的名称为实时导弹系统(Real Time Executive for Missile Systems),后来改名为实时军用系统(Real Time Executive for Military Systems), 目前的全称是实时(Real Time Executive for Multiprocessor Systems)用,他的特点是非常的稳定,而且速度快。现在是一个开源项目的RTOS, 在全球还是有不少的用户,其中包括Motorola,朗讯等,他有下面的特点:

   1. 非常好的实时性能(以前是控制导弹的,再差也差不到那里去)
   2. 极其稳定
   3. 使用面向对象技术构件,剪裁性和移植性好。
   4. 包含POSIX 1003.1b API,并且支持POSIX Thread
   5. 提供pSOS+的API
   6. 提供遵循ITRON的API
   7. 体系可伸缩(也就是常说的Scalable)
   8. 多任务,支持事件驱动,优先级调度,抢占调度(preemptive scheduling)
   9. 任务间的同步与通信
  10. 优化的基于统计的单调频率RMS调度(Rate Monotonic Scheduling)
  11. 优先级高度协议PCP(Priority Ceiling Protocols)
  12. 支持优先级继承用于解决优先级反转的问题
  13. 支持多处理器体系结构(不但支持同构的处理器,也支持异构处理器比如ARM+DSP)
  14. 负责任的中断管理
  15. 高度的可配置性
  16. 提供可重入的ANSI C库
  17. 提供TCP/IP协议栈以及WebServer等服务。

注: TRON全称是 (The Real-time Operating system Nucleus),ITRON(Industrial TRON)是一个由多家著名IT企业牵头的协议制定组织,同时IRTON也代表实时嵌入式系统的一个标准。ITRON提出了实时操作系统的一系列规范(包括系统调用接口规范,任务调度接口规范,TCP/IP网路链接API规范,本地与远程调试接口规范等等),遵循这个规范的操作系统上层软件可以相互移植,有点类似于UNIX世界里面的POSIX。日本所有的大型IT公司都开发了自己的基于ITRON的嵌入式系统

此外他还提供了很多有些的附加属性:

   1. 优秀的网路支持,支持BSD套结字, TCP/IP, UDP/IP, TFTP, FTPd, HTTPd, SNMP, NTP, ICMP, ARP, DNS client, PPP, Remote Console, SNMP
   2. 支持图形界面:microwindows GUI
   3. 支持Webserver(GoAhead)
   4. 支持CORBA(omniORB)
   5. 支持大量的OpenSource库,比如:TCL, readline, zlib, ncurses, libavl
   6. 对大多数API提供C++支持(可选)
   7. 支持Ada
   8. 支持文件系统

目前RTEMS是GPL的开源项目(准确的说,是GPL的一个变种),广泛应用于军事,工业,科研等领域。很多专业的软件(比较注明的如EPICS)开始移植到RTEMS平台上。
    RTEMS从设计初始就是为较少内存与较少CPU主频的嵌入式系统提供可靠的实时内核。该系统分为若干模块,用户可以根据实际应用需要进行剪裁。     在国际控制年会Straumann的一篇报道做过如下的测试,测试的硬件平台是PowerPC 604(300MHz),Rtlinux,RTEMS和VxWorks的BSP都是由Motorola提供,测试内容包括初始化、中断处理、普通程序(包括网路程序、SPI、串口等)。测试中产生了2,000,000次中断,中断的平均频率为4kHz。可以看出,这个测试程序对内核的实时性以及任务调度都是一个严格的考验。测试的结果如下表所示:(单位10-6s)
   
中断时延
 
Context转换
   
系统负载中等
   
最大
 
平均
 
最大
 
平均
RtLinux  
13.5
 
1.7
 
33.1
 
8.7
RTEMS  
15.1
 
1.3
 
16.4
 
2.2
RTEMS1  
14.9
 
1.3
 
16.9
 
2.3
VxWorks  
13.1
 
2.0
 
19.0
 
3.1
   
重负载
RtLinux  
196.8
 
2.1
 
193.9
 
11.2
RTEMS  
20.5
 
2.9
 
51.3
 
3.7
RTEMS1  
19.2
 
2.4
 
213
 
10.4
VxWorks  
25.2
 
2.9
 
38.8
 
9.5

注:RTEMS1(使用Pthread库)

从表上的结果可以看出,RtLinux无论是实时性,还是线程任务迁移,都还远远不能满足要求。尤其是在重负载情况下,处理中断的时延波动非常厉害。想象一下,RtLinux他的中断处理平均时间是2.1us但是实际应用的时候可能要在200us才能处理。这在时间有严格要求的系统中是不能允许的。

同时也可以看到,RTEMS在测试重表现的性能指标非常理想,基本上达到或者超过老牌商业系统VxWorks。值得一提的是RTEMS在使用了 Pthread库后,RTEMS的性能有所下降。但是最差的情况也不会比RtLinux差。但让人欣喜的是,目前Pthread库的性能已经有了不少改善,详情可以参考RTEMS的邮件列表。

既然我把Rtems叫做嵌入式系统里面的老大哥,它支持的CPU类型自然是非常多的,可以说只要是GCC支持的,RTEMS就可以支持。其中值得一提的是一下的CPU

    * intel的i386,i960
    * Hitachi的H8/300和SH系列
    * Motorola的MC68xxx
    * MIPS R46x0
    * OPEN CORE的OR32
    * PowerPC系列
    * SPARC系列
    * ARM系列
    * AMD 29K
    * HP PA-RISC

这些系列是比较成熟的工业级CPU,RTEMS在这些产品上面已经有多年的应用,所以对这些CPU支持的特别好。同时随着ARM和DSP的流行,RTEMS 也在几年前支持了多种DSP和多个系列的ARM(ARM只是一个核心,实际的ARM芯片有上千种,一个操作系统不可能支持全部的ARM芯片)。
文章录入:fengfeiyi    责任编辑:fengfeiyi 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    RTEMS的初始化管理器
    RTEMS连载 (3) 启动镜像文件…
    RTEMS连载 (3) 启动镜像文件…
    rtems连载 2.1 交叉编译环境…
    为何选择RTEMS
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)