产业观察

火星探路者号:当年到底发生了什么?

原标题: 火星探路者号:当年到底发生了什么?

Hackaday·2026/10/11 08:00:04🔗 原文

📋总体概括

本文回顾1997年NASA火星探路者号任务中著名的系统故障真相:着陆器与旅居者号火星车着陆数日后频繁重置,根源是VxWorks实时系统中出现优先级反转——低优先级任务持锁阻塞了高优先级通信任务,且看门狗触发重置。地面团队通过远程上传补丁启用优先级继承机制解决问题。这一案例成为嵌入式实时系统教科书的经典,也展示了调试远程深空软件的极限挑战。

⚡关键信息

  • ▸火星探路者号与旅居者号火星车于1997年登陆火星,初期运行正常
  • ▸数日后着陆器开始频繁自行重置,威胁整个任务的通信与数据回传
  • ▸故障根源是VxWorks系统中的优先级反转:低优先级任务长期持锁,阻塞高优先级通信任务,触发看门狗重置
  • ▸JPL团队通过遥测日志复现问题,远程上传补丁启用互斥锁的优先级继承,修复故障
  • ▸该事件成为实时操作系统与嵌入式软件工程的经典教学案例

🔥犀利点评

这是嵌入式圈被讲烂的老故事,但它的价值从未过时:一堆工程师在地面靠几行遥测日志,逆向出一颗几亿公里外机器人的调度死锁,这种 debugging 功力今天多少人具备?更讽刺的是,问题早在测试中露过苗头却没被重视。优先级反转写入教科书,火星车只是让它出名而已。真正的教训是:实时系统的故障不会给你第二次机会,测试环节省下的每一小时,最后都是十倍偿还。

本文由本站自动聚合,以下为原始来源:前往 Hackaday 阅读全文 →