航海者号太空探测器如何技术更新软件?

航海者号太空探测器如何技术更新软件?

首页战争策略代号航海更新时间:2024-06-05

在一个科技日新月异的世界中,美国宇航局(NASA)对一位精通几十年前编程语言的软件工程师的依赖成为了一则关于技术坚韧不拔的故事。这位软件工程师的专业技能,尤其是对Fortran和三部位这两种可以追溯到1940年代和1950年代的编程语言的精通,让他成为NASA在2015年发布的招聘广告中寻找的理想人选。

这次招聘的目的是吸纳一名专业人士加入专注于航海者号太空探测器的极小团队。令人惊讶的是,航海者号的两艘宇宙飞船仍在使用其最初的半个世纪前的计算机,这些计算机配备了仅有7千字节的内存。尽管这在今天看来可能不足够,但它足以引导这些探测器穿越我们的太阳系,取得了显著的发现。

然而,航海者号的计算机在其漫长的航天任务中偶尔会遇到问题。最近,航海者1号开始传输失真的遥测数据,与其空间定位相关。此外,负责维持航海者正确定位的推进器显示出磨损迹象,由于每次激活推进器时,氢气燃料的微小颗粒会陷入管道,导致系统内逐渐出现堵塞。

面对这一情况,负责航海者运营的小团队着手开发一项软件升级,以纠正这些问题。航海者拥有三台主要计算机嵌套在其宇宙飞船中。中央计算机负责监控所有关键仪器,管理自身健康和温度,并同时掌控其他两台计算机的角色。第二台计算机负责航海者的定位,寻找预定的参考点并激活推进器,确保航海者的天线与地球保持对准。第三台计算机则负责存储和管理航海者捕捉的大量科学数据和图像。

航海者的计算机没有操作系统,也为任何编程语言都会消耗大量宝贵的空间。然而,为了确保其在可预见的未来继续发挥功能,工程师们进行了全面的软件更新。尽管航海者在150亿英里的距离上,面对着更新古老硬件的艰巨任务,NASA还是成功地执行了这一任务。

为了理解这一挑战的复杂性,有必要深入了解航海者软件的内部结构。航海者计算机的内存结构独特,每台计算机都配备有自己的电镀线存储器。其代码以基本的二进制形式存储,使用一和零来表示。这种内存框架包括一组电线和精致的金属板,每个交叉点作为一个独立的存储位,能够容纳一和零。通过使电流流经特定的电线和板,航海者的计算机实现对内存的操控,通过生成磁场来进行内存的操控。这种设计在当时是一个明智的选择,为航海者在断电的情况下保留了一和零,允许对单个位进行更新。

尽管航海者的内存容量只有70千字节,工程师们采用了极其高效的编码方法,除了基本的机器码外,航海者还使用其专有的伪代码,一系列简洁的命令,旨在自动执行重复性任务而不消耗过多内存。主计算机内的解释器读取二进制数据,一旦遇到预定义的代码,就触发相应的伪代码命令,实现了许多任务的自动化。

航海者的计算机以中断驱动的方式运行,软件更新的过程也是在这个框架下进行的。当更新发送到航海者时,带有中断信号的航海者会告诉其主计算机停止正在进行的任务,专注于实施提供的更新指令。然后新代码加载到内存中,导致二进制位根据其新配置重新排列,接着进行全面的代码验证过程,以确保其正确性。之后主计算机恢复正常操作,有效地整合了更新。

在航海者的漫长任务中,它接受了大量的更新和补定,以纠正问题并增强其操作能力。其中一项更新是在1995年开发的,其主要目的是在特定组件发生故障时实质性地重新启动它们。2014年,航海者一号在初始代码编写20年后,面临一个看似微不足道的小故障,即内存中的一个未翻转的位。这个小故障导致了航海者计算机之间同步丧失,指令比计划执行晚两个半小时。为了纠正这个问题

,工程师们发送了一个软件更新,修复了有问题的位,将其恢复到正确的配置。

这些故事凸显了航海者号太空探测器的惊人韧性,使其能够在太空的浩瀚中探险将近半个世纪。在如此多年后,航海者的计算机内部的物理线路、晶体管和硬件仍然按照最初的设计正常工作。这表明了航海者在如此遥远的距离上更新几十年前的技术所面临的挑战,以及NASA在解决这些挑战时所展现的卓越技术实力。

对于航海者的令人难以置信的旅程,以及NASA在深空中更新古老技术所取得的巨大成功,让我们深感敬畏。这些经历提醒着我们,当我们踏足宇宙时,天空并不是极限,而只是一个开始。我们应该继续保持关注,不断追寻科学的奥秘,以拓展人类对宇宙的认知。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved