如果您的页面无法显示,请点击这里
这是一个追求速度的时代!但是,NASA的好奇号火星车在度过“恐怖7分钟”的时候,速度却成了最大的敌人——它必须把自己从大约21240公里/小时的太空速度降为零,才能平稳地降落在火星表面上。而且,这个过程是在地面人员不知情的状况下,完全由好奇号自带的电脑系统自动控制完成。
失之毫厘 谬以千里
“坐地日行八万里”。不论是在太空中的卫星,还是自然形成的日月星辰,都在以某个特定的速度运行着,而且不需要任何动力。可见,速度本身不是问题。真正困难的事情既不是快、也不是慢,而是在由快变慢或者由慢变快的过程中精准地控制每个时间点应该采取的行动。在好奇号进入火星大气层的时候,假如因为飞行姿态控制失准而产生1秒的误差,它与预定轨道的偏差就至少有6公里甚至更远。

如果谈论火星探测让你觉得遥远,那么想想我们每个人身体里流淌着的血液。为了了解我们的健康状况,科学家发明了一种仪器,可以把流动着的血液放在显微镜下一颗一颗地计算其中包含血细胞的数量。这种设备叫做血细胞计数器,早在1994年就在美国和欧洲投入使用,现在已经在非洲那些贫穷国家广泛使用,用来进行艾滋病筛检,具有极高的准确度。可以想象,如果误诊一个人是否患有艾滋病,后果是十分严重的。
NASA的选择就在身边
有意思的是,好奇号火星车和血细胞计数器这两样相差十万八千里的东西,其中的操作系统软件都是同一个——Wind River VxWorks。

在软件平台选择众多的今天,为什么NASA的好奇号火星车和医疗行业的专家都会选择Wind River VxWorks?或者说,为什么在有些应用环境中,VxWorks这样的操作系统成为最佳首选?我们是否可以抛开商家和用户,观察一下是什么样的应用需求适合采用具备何种特性的操作系统?首先,NASA采用VxWorks的历史可以追溯到20几年前。另外,美国有名的F/A-18E/F“超级大黄蜂”战斗机的雷达预警系统也是采用VxWorks。

以上都属于必须高速精准控制时序动作的应用需求。相反的典型实例就是,我们每天都在用的PC电脑。有的时候,我们会觉得它不太正常,甚至完全死机。既然硬件环境相同,我们就可以能够肯定这是软件方面的问题,可是没有人知道究竟是哪部分软件发生了问题。就连微软也没有办法回答这个问题,尽管它在全球有9万多名员工。而隶属于NASA JPL的好奇号软件团队总共只有30名程序员、10名软件测试员。他们必须反复检查软件的每一行代码,确保绝对不会出错。如果是要检查5000万行代码,他们怎么受得了!

但是,最多人使用的Windows,其总代码量真的就达到5000万行以上,Android操作系统的总代码量约为110万行,这都还不包括运行在这个操作系统之上的应用软件。再看好奇号,包括操作系统和全部应用软件,总代码量只有50万行。

在当今世界,没有任何人可以保证一个软件没有错误。在NASA当年的太空梭软件中,每42万行代码只有1个错误。在这个软件最后测试的11个版本中总共发现过17个错误。而当今市场中相同复杂度的软件,同样代码量中包含的错误数量超过5000个。更不用说,那些代码量达到5千万行的软件,其中包含的错误可能达到50万个以上!如果让你开一部内部包含50万个错误的汽车,你一定不会接受。可是包含众多错误的电脑我们天天都在用。所以,应用场合不同,对错误的容忍度也就不同。如果按照正确性来衡量,NASA JPL所编制的软件绝对是质量第一。如果以软件预算除以代码行数来计算,这里的软件无疑也是全世界价格最高的。
VxWorks演绎简单就是美
作为NASA好奇号探测车软件的核心部分,VxWorks同样也经过这些软件人员的严格检视。从整个嵌入式软件行业来看,VxWorks普遍得到认可的特色包括以下三点:
可靠性。VxWorks具有非常高的可靠性,因此被广泛应用于军事、航空、航天等对系统要求极高的环境。
实时性。VxWorks 的实时性之所以非常好,是因为其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,所以时间延迟非常短。
可裁剪性。VxWorks由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。其内核最小可以只有8KB,即便加上其他必要模块,所占用的空间也很小,但却可以包含全部的实时、多任务功能特性。由于它的高度可裁剪性,软件开发者可以很容易地对这一操作系统进行定制或适当开发,来满足自己的特殊应用需要。
以VxWorks操作系统为核心,NASA好奇号的软件再次演绎了“简单就是美”这个颠覆不破的原理。您的产品也许不是飞上太空,但很可能更加贴近生活。只要一个电子产品需要追求精准、安全、可靠、实时,
VxWorks应当是其优先考虑的对象。
关于风河系统公司
风河(Wind River)公司是Intel(NASDAQ: INTC)的全资子公司,也是全球领先的嵌入式和移动软件提供商。从1981开始至今,风河公司一直是嵌入式设备中计算技术的先锋。在当今世界中,已经有超过10亿台产品应用了风河公司的技术成果。风河公司总部设在美国加州的Alameda,在全球15个国家设有分支机构。关于风河的更多内容,请访问:http://www.windriver.com.cn