免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 715 | 回复: 0
打印 上一主题 下一主题

实时操作系统的选择 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-15 20:13 |只看该作者 |倒序浏览

实时操作系统的选择:你还在用Linux吗?
忘记了在哪看过一篇帖子,关于实时操作系统linux的选择与否的问题!
随着IC业的发展,出现了越来越多的价格低廉、结构小巧的CPU和外设。限制嵌入式系统发展的瓶颈就突出表现在了软件方面。尽管从八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有Vxwork、pSOS(已被收购)、QNX、Neculeus、Windows CE、PALM、SmartPhone等。但这些专用操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且,源代码封闭性也大大限制了开发者的积极性。
另一个方面,这些商用的操作系统往往有非常完善的技术支持和丰富的软件包,以WinCE为例,他的PlatForm Bulider安装光盘有7张,容纳了大量的应用框架,用户只需要做很少的改动就能生成一个应用程序。工作强度和普通PC机上开发没有太大的区别。
目前,以Linux为首的开源嵌入式系统发展势头强劲,比较有代表的有Linux(包括uClinux,RtLinux等),RTEMS,eCos,uCOSII等。国内的用户大多使用Linux和uCOSII。但是我认为各种系统有自己存在的理由,我从事的大多数项目中,向客户推荐的不是Linux和uCOSII,而是RTEMS和eCos(哈哈看到我们ecos的魅力了)。理由很简单,Linux过为复杂,速度慢,实时性差;而uCOSII又过于简单。
Linux本来就不是为嵌入式系统设计的,现在Linux2.6的kernel source压缩包大小更是有30多兆。Linux源代码解析那种大部头的书又有多少人从头到尾看过。这导致很多问题无法解决。以前,某客户要求使用Linux给他们做底端路由器,我们使用了一套比较成熟的ARM+uClinux系统,结果,该系统会不定期的死机,调试了很久也没有结果。过了几个月,发现是uCLinux的一个bug。期间,该客户由于系统不够稳定,错过了几个大单。此后,另外一个Linux的系统,用于VoIP网关,结果,运行速度非常慢,资源消耗也很大。几乎没有办法达到设计要求。后来,改用eCos,不但能达到编解码速度要求,而且无论是对内存还是对Flash,占用都大为减少。这样的项目举不胜举,后来总结出一条经验,Linux用来做Demo版本,商业版本用其他RTOS。
实际上,这样的例子还很多,现在,很多嵌入式系统设计服务提供商动不动就是Linux,好像将Linux和嵌入式系统划上了等号。为什么? 无非是因为下面的原因:

  • 操作系统源代码开放

  • 网上资源丰富,很可能可以找到开放源码的整套环境,可以大大缩短开发周期

  • 编程接口方便,熟悉,跟台上机上开发几乎没有什么区别

  • 上层应用丰富,而且也开放源码

  • 低层接口统一

  • TCP/IP等协议自带
    但是我认为这是站不住脚的。我们一个一个来看Linux的所谓优势:
      1. “开放源码”很多嵌入式系统都是开放源码的如:eCos,RTEMS,NetBSD等等。这些系统都比Linux简单易懂。此外值得提出的是。Linux是GPL协议的,也就是说,你对Linux的任何修改,都必须公开。而NetBSD等系统就不是,他们是遵循更为开放的BSD协议,你对系统的任何修改,都有权保密。这对于商用系统来说,是非常重要的。
      2. “网上资源丰富” 这个……我只能说其他系统应用资源也很丰富。但是总体上,Linux资源比其他系统丰富,主要体现在桌面系统上,在嵌入式领域的应用软件,Linux并没有明显的优势。
      3. “编程接口方便,熟悉,跟台上机上开发几乎没有什么区别”编程接口上来说eCos,RTEMS和NetBSD都提供POSIX的API,这意味这,在Linux上面的代码,几乎不用做修改就可以移植到上面的系统中。
      4. “上层应用丰富,而且也开放源码”嵌入式系统大多是用于专业用途的,很多上层应用比如GNOM,在嵌入式领域,并没有太大用途
      5. “低层接口统一。TCP/IP自带” 一方面,Linux底层十分复杂,其接口也非常复杂,这导致给Linux制作驱动需要大量的时间(当然,也有不少驱动是现成的),同时复杂的层次结构导致驱动的效率底下。
      6. “TCP/IP等协议自带”几乎所有的嵌入式系统都提供TCP/IP,这个不是Linux的专利。
      不用uCOSII也很简单,他不是想大多数人想的那样是免费的,他的免费只表现在他的教育版本。如果你用uCOSII作出了东西要出口到欧盟,很可能被kaka。而且uCOSII免费的地方也很少,需要TCP/IP?掏钱,需要文件支持?掏钱......这导致uCOSII的免费版本只能算作一个玩具。
      真正好的嵌入式系统应该满足1-6,此外还应有下面几点,注意,这些一直都是Linux的贽垢
      1 实时性支持
      2 资源占用小
      3 支持低功耗
      ……
      总之,Linux只适合高端嵌入式系统中(如商用路由器等),如果CPU


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/68846/showart_689450.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP