【51CTO 1月19日外电头条】在软件应用的王国里,嵌入式软件应用就像是那些小个子的哺乳动物,在各种各样的企业软件们像巨型恐龙那样在阳光下大摇大摆的游走的时候,它们在灌木丛里东窜西窜,做着自己最拿手的事情,躲避着别人的目光。
虽然这不是一个太***的比喻,但嵌入式软件的现状就是如此,它们可以在任何稀奇古怪的地方出现。在最近的投票调查中它们出现在了一些更让人意想不到的地方,包括浮标系统和蓝牙电能表、CAT扫描机、内窥镜、脉搏血氧仪、高压焊接系统、网络控制的洗衣控制系统以及我最喜欢的汽车碰撞试验的弹射器中。有关这次调查的具体情况,可参考51CTO之前发布的《嵌入式开发还欠什么?》一文。
嵌入式箱子里的操作系统是什么呢?当然,是Linux在这个领域当老大。或许我应该并不应该感到奇怪,因为Linux似乎在很久以前就已经取得了这种“事实上”的地位。事实上,我们的调查发现市场份额看上去较为平均,排在第二位的是像VxWorks、Microwave OS9和QNX这些商业操作系统,然后是其他开源操作系统,***是Windows Embedded。
图1:你是否具有嵌入式开发经验,或对以下嵌入式操作系统的印象如何?绿色为用过并印象好,红色为用过并有严重问题,浅绿色和橙色为没用过
好了,我们不用为了微软的又一次落后而幸灾乐祸太久,值得看一下的是人们为什么喜欢选择特定的嵌入式操作系统。我的同事Tony Lock在上一篇文章中曾说过,从开发者的角度看来,在选择开发工具时,对可用性的关注远远超过其他选项。但是,当选择操作系统时,对稳定性的要求要远远领先于其他特性和功能。
图2:在评估嵌入式操作系统时,以下哪些特点最重要?稳定性在调查中排名***,下面依次是网络、实时数据流、资源使用效率、能耗管理效率、数字设备集成,以及安全
从Tony的文章评论中我们可以看到,嵌入式开发可不是件容易的事。
“真正的程序员要保证一切正常工作!嵌入式开发的***挑战就是让一切工作起来,包括工具和模拟器。错误调试器、碰撞电路模拟器还有置入调试解决方案所有这些都是经验丰富的嵌入式软件工程师的战场。”
这条评论正说到了点子上,嵌入式系统开发确实是你死我活的搏斗。如果你的高压焊接系统、内窥镜或者汽车弹射器突然停止工作,你可没有打技术支持电话的机会。
这也让我们对“微软”的问题有了一些更深的见解。从***张图和直接的调查反馈看来,对Windows Embedded和CE的负面看法似乎并非是历史遗留问题或者是来自道听途说。也就是说,即使它们现在已经比以前好的多了(我只是猜测),微软依然需要面临怎样去说服别人的挑战。读者们可以从51CTO的微软嵌入式开发专区了解一些有关Windows Embedded和CE的情况。
图3:在评估嵌入式操作系统时哪些运行/管理标准最重要?许可费用排在了***位,下面依次是可维护性、长期支出、产业支持、技术人员,以及厂商
#t#涉及到运行和管理标准时,许可费用高居列表的***项,当然应用的可维护性/可管理性的重要性也相当高,这再次支持了“工作就是一切”的原则。***部的是对主要厂商支持的需要,虽然在这里看似很合理,但和我们在非嵌入式应用中期望看到的又是一个不同的景象。
***一点,让我们哭笑不得的是,有一部分人告诉我们应该有“根本不需要操作系统”这个选项。公平地说,这部分的人的存在让许多调查结果打上一些折扣。当然对于那些即使是其他领域的细心的开发者和IT经理来说,从这些构建并且部署良好的隐蔽的嵌入式系统中或许可以学到很多。
【51CTO.com译稿,非经授权请勿转载。合作站点转载请注明原文译者和出处为51CTO.com,且不得修改原文内容。】
原文:Why embedded OS's are like mammals 作者:Jon Collins