首页 » 技术分享 » 几次由于软件失误造成的航天事故

几次由于软件失误造成的航天事故

 

1. Ariane 5  爆炸, 调查小组后来分析是由于导航软件部分的一个类型转行造成的,将一个64位的浮点数转换成了16位的有符号整数。 
  
2. Mars Pathfinder到达火星后不久,持续不断的重启,当时很多人都以为是因为系统做的工作太多,超负荷了才不断重启的。但在后来的一次IEEE Real-Time Systems Symposium会议上,VxWorks(pathfinder中就用了wxworks的实时系统)的一个技术官给出来这个问题的答案。当时的wxworks的线程调度策略是 preemptive priority scheduling。由于系统设计失误,造成了priority inversion问题,就是优先级高的线程等待优先级低的线程。而系统的Watchdog时钟发现某些线程长时间没有被调度后,就自动重启系统。 
  
3.mars polar lander 丢失。由于两个工作小组在软件系统中使用了不同的单位,一个使用英制的,英寸等;一个使用国际标准。造成了这两个小组之间不能正常传递数据,进而丢失了这个飞行器。 
  
恩 做这类飞行器的软件真是不容易啊,一不小心就损失了n多年的研究成果! 
-- 

转载自原文链接, 如需删除请联系管理员。

原文链接:几次由于软件失误造成的航天事故,转载请注明来源!

0