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

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多年的研究成果! 
-- 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值