你见过比RTlinux、Vxworks强的免费开源的操作系统吗

[复制链接]
17895|11
 楼主| popipa 发表于 2008-6-17 22:46 | 显示全部楼层 |阅读模式
Rtems简介<br /><br />RTEMS,a&nbsp;rivail&nbsp;of&nbsp;VxWorks<br /><br />作者&nbsp;Ray<br /><br />RTEMS版权所有,转载请注明:来源http://www.rtems.net,作者Ray<br /><br />RTEMS可谓嵌入式系统鼻祖,经过专家的评测,其性能毫不逊色于VxWorks,&nbsp;远远把RtLinux甩在后面。<br /><br />正文<br /><br />RTEMS是前美国军方研制的嵌入式系统,&nbsp;最早用于美国国防系统,早期的名称为实时导弹系统(Real&nbsp;Time&nbsp;Executive&nbsp;for&nbsp;Missile&nbsp;Systems),后来改名为实时军用系统(Real&nbsp;Time&nbsp;Executive&nbsp;for&nbsp;Military&nbsp;Systems),&nbsp;目前的全称是实时(Real&nbsp;Time&nbsp;Executive&nbsp;for&nbsp;Multiprocessor&nbsp;Systems)用,他的特点是非常的稳定,而且速度快。现在是一个开源项目的RTOS,&nbsp;在全球还是有不少的用户,其中包括Motorola,朗讯等,他有下面的特点:<br /><br />非常好的实时性能(以前是控制导弹的,再差也差不到那里去)&nbsp;<br />极其稳定&nbsp;<br />使用面向对象技术构件,剪裁性和移植性好。&nbsp;<br />包含POSIX&nbsp;1003.1b&nbsp;API,并且支持POSIX&nbsp;Thread&nbsp;<br />提供pSOS+的API&nbsp;<br />提供遵循ITRON的API&nbsp;<br />体系可伸缩(也就是常说的Scalable)&nbsp;<br />多任务,支持事件驱动,优先级调度,抢占调度(preemptive&nbsp;scheduling)&nbsp;<br />任务间的同步与通信&nbsp;<br />优化的基于统计的单调频率RMS调度(Rate&nbsp;Monotonic&nbsp;Scheduling)&nbsp;<br />优先级高度协议PCP(Priority&nbsp;Ceiling&nbsp;Protocols)&nbsp;<br />支持优先级继承用于解决优先级反转的问题&nbsp;<br />支持多处理器体系结构(不但支持同构的处理器,也支持异构处理器比如ARM+DSP)&nbsp;<br />负责任的中断管理&nbsp;<br />高度的可配置性&nbsp;<br />提供可重入的ANSI&nbsp;C库&nbsp;<br />提供TCP/IP协议栈以及WebServer等服务。&nbsp;<br />注:TRON全称是&nbsp;(The&nbsp;Real-time&nbsp;Operating&nbsp;system&nbsp;Nucleus),ITRON(Industrial&nbsp;TRON)是一个由多家著名IT企业牵头的协议制定组织,同时IRTON也代表实时嵌入式系统的一个标准。ITRON提出了实时操作系统的一系列规范(包括系统调用接口规范,任务调度接口规范,TCP/IP网路链接API规范,本地与远程调试接口规范等等),遵循这个规范的操作系统上层软件可以相互移植,有点类似于UNIX世界里面的POSIX。日本所有的大型IT公司都开发了自己的基于ITRON的嵌入式系统<br /><br />此外他还提供了很多有些的附加属性:<br /><br />优秀的网路支持,支持BSD套结字,&nbsp;TCP/IP,&nbsp;UDP/IP,&nbsp;TFTP,&nbsp;FTPd,&nbsp;HTTPd,&nbsp;SNMP,&nbsp;NTP,&nbsp;ICMP,&nbsp;ARP,&nbsp;DNS&nbsp;client,&nbsp;PPP,&nbsp;Remote&nbsp;Console,&nbsp;SNMP&nbsp;<br />支持图形界面:microwindows&nbsp;GUI&nbsp;<br />支持Webserver(GoAhead)&nbsp;<br />支持CORBA(omniORB)&nbsp;<br />支持大量的OpenSource库,比如:TCL,&nbsp;readline,&nbsp;zlib,&nbsp;ncurses,&nbsp;libavl&nbsp;<br />对大多数API提供C++支持(可选)&nbsp;<br />支持Ada&nbsp;<br />支持文件系统&nbsp;<br />目前RTEMS是GPL的开源项目(准确的说,是GPL的一个变种),广泛应用于军事,工业,科研等领域。很多专业的软件(比较注明的如EPICS)开始移植到RTEMS平台上。<br />&nbsp;&nbsp;&nbsp;&nbsp;RTEMS从设计初始就是为较少内存与较少CPU主频的嵌入式系统提供可靠的实时内核。该系统分为若干模块,用户可以根据实际应用需要进行剪裁。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在国际控制年会Straumann的一篇报道做过如下的测试,测试的硬件平台是PowerPC&nbsp;604(300MHz),Rtlinux,RTEMS和VxWorks的BSP都是由Motorola提供,测试内容包括初始化、中断处理、普通程序(包括网路程序、SPI、串口等)。测试中产生了2,000,000次中断,中断的平均频率为4kHz。可以看出,这个测试程序对内核的实时性以及任务调度都是一个严格的考验。测试的结果如下表所示:(单位10-6s)<br /><br />&nbsp;&nbsp;   中断时延&nbsp;      Context转换&nbsp;<br />&nbsp;&nbsp;   系统负载中等&nbsp;<br />&nbsp;&nbsp;    最大&nbsp;&nbsp;&nbsp;平均&nbsp; 最大&nbsp; 平均&nbsp;<br />RtLinux&nbsp; 13.5&nbsp;&nbsp;&nbsp;1.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;33.1&nbsp;&nbsp;&nbsp;8.7&nbsp;<br />RTEMS&nbsp;  15.1&nbsp;&nbsp;&nbsp;1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16.4&nbsp;&nbsp;&nbsp;2.2&nbsp;<br />RTEMS1&nbsp; &nbsp;14.9&nbsp;&nbsp;&nbsp;1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16.9&nbsp;&nbsp;&nbsp;2.3&nbsp;<br />VxWorks&nbsp; 13.1&nbsp;&nbsp;&nbsp;2.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19.0&nbsp;&nbsp;&nbsp;3.1&nbsp;<br />&nbsp;&nbsp;   重负载&nbsp;<br />RtLinux&nbsp;&nbsp;&nbsp;196.8&nbsp;&nbsp;2.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;193.9&nbsp;&nbsp;11.2&nbsp;<br />RTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20.5&nbsp;&nbsp;&nbsp;2.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;51.3&nbsp;&nbsp;&nbsp;3.7&nbsp;<br />RTEMS1&nbsp;&nbsp;&nbsp;&nbsp;19.2&nbsp;&nbsp;&nbsp;2.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;213&nbsp;&nbsp;&nbsp;&nbsp;10.4&nbsp;<br />VxWorks&nbsp;&nbsp;&nbsp;25.2&nbsp;&nbsp;&nbsp;2.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;38.8&nbsp;&nbsp;&nbsp;9.5&nbsp;<br /><br />注:RTEMS1(使用Pthread库)<br /><br />从表上的结果可以看出,RtLinux无论是实时性,还是线程任务迁移,都还远远不能满足要求。尤其是在重负载情况下,处理中断的时延波动非常厉害。想象一下,RtLinux他的中断处理平均时间是2.1us但是实际应用的时候可能要在200us才能处理。这在时间有严格要求的系统中是不能允许的。<br /><br />同时也可以看到,RTEMS在测试重表现的性能指标非常理想,基本上达到或者超过老牌商业系统VxWorks。值得一提的是RTEMS在使用了Pthread库后,RTEMS的性能有所下降。但是最差的情况也不会比RtLinux差。但让人欣喜的是,目前Pthread库的性能已经有了不少改善,详情可以参考RTEMS的邮件列表。&nbsp;<br /><br />既然我把Rtems叫做嵌入式系统里面的老大哥,它支持的CPU类型自然是非常多的,可以说只要是GCC支持的,RTEMS就可以支持。其中值得一提的是一下的CPU<br /><br />intel的i386,i960&nbsp;<br />Hitachi的H8/300和SH系列&nbsp;<br />Motorola的MC68xxx&nbsp;<br />MIPS&nbsp;R46x0&nbsp;<br />OPEN&nbsp;CORE的OR32&nbsp;<br />PowerPC系列&nbsp;<br />SPARC系列&nbsp;<br />ARM系列&nbsp;<br />AMD&nbsp;29K&nbsp;<br />HP&nbsp;PA-RISC&nbsp;<br />这些系列是比较成熟的工业级CPU,RTEMS在这些产品上面已经有多年的应用,所以对这些CPU支持的特别好。同时随着ARM和DSP的流行,RTEMS也在几年前支持了多种DSP和多个系列的ARM(ARM只是一个核心,实际的ARM芯片有上千种,一个操作系统不可能支持全部的ARM芯片)。<br /><br /> 相关链接:<a href='http://www.rtems.net/Documnet/RTEMS.htm'>http://www.rtems.net/Documnet/RTEMS.htm</a>
deeploves 发表于 2008-6-18 10:13 | 显示全部楼层

既然这么强大,为什么军方抛弃它改用vxwork和linux?<br />怎么没有vxwork和linux知名度高?
RTEMS 发表于 2008-6-18 13:24 | 显示全部楼层

有人关心RTEMS啦,支持

军方产品中有大量使用vxwork和linux吗<br />军方使用linux仅仅局限在后台使用,在控制器很少见linux的<br />美国军方根本就没有抛弃RTEMS<br />而且中国这一次发射的嫦娥一号好像也使用的RTEMS呢<br /><br />RTEMS在中国的知名度确实不高,<br />但这不应该成为被大家再次忽略的理由<br />相信是金子总会发光的<br /><br />相比linux和VXworks来讲,<br />RTEMS只占用几十K的代码空间和1K左右的RAM<br />相信会成为中国工业控制领域的领头RTOS
wangkj 发表于 2008-6-18 13:50 | 显示全部楼层

最强悍的rtos是自己裸奔的系统

  
菜人菜语 发表于 2008-6-18 14:35 | 显示全部楼层

支持那么多特征,还有microwin,还需要剪裁

其实已经不简单了。<br />研究过ECOS,说是模块化的,可是当你把剪刀拿起来动手剪裁的时候,就犯愁了,呵呵,还是不简单的。<br />另外,每秒4k次中断,不算多。<br />就象楼上老王说的,要想简单、要想快,还得自己DIY。
发表于 2008-6-18 15:17 | 显示全部楼层

没听说过...孤陋寡闻啊 .....

  
 楼主| popipa 发表于 2008-6-18 15:29 | 显示全部楼层

呵呵,好的东西不一定就简单啊

好事多谋,<br />好东西也要多琢磨,才能游刃有余的
后学 发表于 2008-6-18 17:24 | 显示全部楼层

不同领域的比较没有意义,

你可以说ucos比winxp实时性好,但PC上用winxp,<br />
John_light 发表于 2008-6-19 11:11 | 显示全部楼层

该不会是老顽童来了吧?

  
bear1 发表于 2015-6-5 09:32 | 显示全部楼层
这个系统需要MMU吗?
口令_通行证 发表于 2015-6-7 17:54 | 显示全部楼层
了解过,似乎没有什么中文资料可供参考的。
亿万嗣年 发表于 2015-9-22 16:22 | 显示全部楼层
学习了,VxWorks
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

29

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部