NASA在半个世纪后继续用古老代码维持旅行者号运行

2026年05月19日 01:13 次阅读 稿源:cnBeta.COM 条评论

关于旅行者号的一个流行说法,这些年几乎固化成了传奇:美国宇航局(NASA)仍在用一种诞生于20世纪70年代的古老编程语言,维持这对远航中的探测器;地球上几乎没有人还能真正看懂这套代码,只剩屈指可数、如今已年逾八旬的工程师在苦撑,且后继无人。从现有公开记录来看,这个故事有部分属实,也有部分被夸大或误读之处。真正棘手的问题确实存在,却比“没人看得懂代码”更具体,也更复杂。

首先需要澄清的是,旅行者号探测器上实际运行的是什么。两艘探测器各自搭载了三套计算机系统:指令与计算子系统(Computer Command Subsystem)、姿态与指向控制子系统(Attitude and Articulation Control Subsystem)以及飞行数据子系统(Flight Data Subsystem)。其中,飞行数据子系统负责打包科学与工程数据并发回地球,也是2023年底至2024年初那次长达约五个月通信故障的“主角”。

这些机载计算机运行的是专为旅行者号定制的通用电气中断驱动处理器上的汇编语言代码,这些硬件由20世纪70年代初设计和制造。现代流行说法中常提到“旅行者号运行在Fortran之上”,实际上这是把飞行器上的低层软件与地面系统工具混为一谈:探测器上的飞行软件是高度专用的汇编程序,而Fortran主要出现在地面系统和任务工具中。NASA在2015年为旅行者团队寻找新工程师时,招聘需求同时提到汇编和Fortran,但当时项目负责人苏齐·多德(Suzy Dodd)真正担心的,是找到既能写汇编,又能理解这些探测器复杂细节的人。

与当今设备相比,旅行者号的计算资源极为有限。三套计算机加起来的内存总量常被概括为约64至70千字节,大致还不如一张小图片文件。多德曾将其形容为“像是在飞一台Apple II”,这个比喻并非刻意怀旧,而是在提醒外界:他们正在用一个完全属于另一个技术时代的系统,维持一项延伸至星际空间的科学任务。

真正让维护变得艰难的,并不仅是编程语言本身,而是近半个世纪运行过程中积累的“断层”。1989年8月,旅行者2号完成对海王星的最近距离飞掠之后,任务进入“星际任务”阶段,飞行软件也进行了一次重要升级,使探测器能在更少地面干预的情况下,更自主地运行。这一版本,再叠加任务团队每隔数月上传的指令序列,构成了今天仍在运行的软件基础。

然而,在49年的长期运营中,团队规模不断缩小、成员逐渐老去,更关键的是,大量最初的文档资料已经遗失或零散化。20世纪70至80年代的任务文档几乎全部是纸质,每次搬迁办公室,都会有一部分纸堆“消失在历史里”。多德在2024年初接受采访时坦言,“那些建造飞行器的人大多已经不在了”,团队手里还算有一套“相当不错”的文档,但很多仍是纸本,查找资料时就像在进行一场“考古挖掘”。

这也是为什么,外界在2016年高度关注拉里·佐塔雷利(Larry Zottarelli)的退休。作为最后一位仍在岗的旅行者号“原始工程师”,他自1977年发射起就一直在项目中,主要负责飞行数据子系统。媒体当时将他的退休视作代际更迭的象征,也由此强化了“懂代码的人都已经八十多岁”的叙事框架。

但这种框架如今已经滞后。佐塔雷利离开已经九年,旅行者号现有的飞行团队是喷气推进实验室(JPL)的一小群工程师,其中大部分并非八十多岁。多德本人在旅行者发射时才16岁,1984年首次以“指令序列设计师”的身份参与天王星飞掠任务,2010年起担任项目经理,并一直负责至今。飞行工程工作在过去几十年间已经多次交接,接班人并不都来自最初那批设计者。

因此,多德在公开场合强调的问题,并不是一个简单的“代际断层”故事,而是一组更具体的挑战:要找到愿意且能够在高度定制硬件上熟练编写汇编程序的工程师,要说服他们投入到一个终点明确、技术环境极不现代化的任务中,还要让他们有足够耐心,去面对那套支离破碎的文档体系。如今,汇编语言早已不再是工程师日常训练的一部分,多德的描述是:年轻工程师往往具备这种能力,但未必有意愿把它用在这样一项古老而艰深的任务上。

在这种处境下,团队还依赖一份“退休工程师名单”以备紧急状况之需。这份名单在每一年都在变短。这才是旅行者号背后更接近现实的版本:问题不在于“代码无法阅读”,而在于围绕这些代码的机构记忆已经支离破碎,而当年支撑这些工程师成长的环境与体系,也几乎不可能再被复制。

与此同时,硬件本身正在缓慢“老去”。旅行者号所使用的放射性同位素热电发电机(RTG)每年电功率大约会衰减约4瓦,喷气推进实验室的团队正在按顺序关闭探测器上的科学仪器,以尽可能延长两艘探测器的寿命。NASA的公开常见问答指出,即便科学数据最终停止返回,工程遥测仍有望再持续数年;在发射近60年后,探测器或许仍能维持足够的发射功率与深空网络保持联系,直至约2036年。多德提到的下一个重要时间节点,是2027年9月——旅行者号发射50周年。

从这个时间尺度看,所谓“接班难题”在未来十年最为关键;再往后,它将逐渐成为学术意义上的话题:那时,已经不会再有需要维护的旅行者号。届时,这一系列关于古老代码、考古式文档查找和代际工程师的故事,将与探测器本身一起,彻底进入人类深空探索早期历史的档案之中。

对文章打分

NASA在半个世纪后继续用古老代码维持旅行者号运行

1 (50%)
已有 条意见

    最新资讯

    加载中...

    编辑精选

    加载中...

    热门评论

      Top 10

      招聘

      created by ceallan