广告

哈尔·拉宁:拯救阿波罗11号的你不知道的人

就在标志性的着陆前几分钟,出了点问题。哈尔·莱宁拯救了局面。

Google NewsGoogle News Preferred Source
哈尔·莱宁

新闻简报

注册我们的电子邮件新闻简报,获取最新的科学新闻

注册

在阿波罗 11 号下降到月球表面的最后几分钟,发出了五声 1201 和 1202 警报。计算机因数据过载而发出警报,有一瞬间,尼尔·阿姆斯特朗和巴兹·奥尔德林似乎无法登陆月球。正如我们所知,他们成功了;尽管有警报,阿波罗 11 号还是获得了登陆许可。但我们不知道的是,正是这位工程师的工作,使得宇航员能够重启计算机并挽救了这次着陆:哈尔·莱宁。

广告

1961 年 4 月,美国宇航局首次与麻省理工学院仪器实验室(现称为德雷珀)合作,为阿波罗月球任务开发导航计算机。后来加入该计划的工程师之一是 J. Halcombe Laning,他被人称呼为 Hal。作为导弹控制系统的老兵,莱宁此前曾从事过一个简单的火星卫星导航系统的研究。尽管这个火星任务从未发射,但其理念是使用一个简单的陀螺仪稳定卫星,并配备机载光学观测系统来获取导航数据点,以及一台数字计算机来管理所有事物。其理念是,光学系统可以进行原地测量,并将数据输入计算机,以便实时检查航天器的位置。简而言之,它能够自主维护其导航。

尽管阿波罗号上有宇航员,美国宇航局仍然喜欢自主导航系统的想法。它不仅是飞行员的一个很好的备用方案,而且由于是机载独立系统,导航数据也不可能被苏联窃取。

莱宁是开发阿波罗三层计算机系统的团队成员之一。在所有底层指令的控制下,有一种名为 basic(小写,与 1970 年代开发的 BASIC 编程语言大写区分开)的计算机语言。本质上,它是一个代数编译器。

basic 中的每一行代码都相当于一条计算机指令。问题在于计算机体积小、功耗低、重量轻,因此无法管理导航所需的所有指令。相反,每行代码相当于一个单字指令,而这些单词组合起来,就成为需要计算机第二层解释的指令。

在 basic 语言之上运行的是莱宁创建的两个程序。第一个是解释器。它通过花费更多时间来计算更复杂的任务,例如中途修正燃烧的细节,从而提高了计算机的感知能力。运行在解释程序之上的第二个程序叫做 Executive。Executive 程序决定了每个程序运行的顺序。总而言之,解释器和 Executive 相当于阿波罗导航计算机的操作系统。莱宁将两者都命名为人类工作并非偶然。他的想法是,就像实验室里的人们会交谈和遵循等级制度一样,计算机中的程序也会如此。

但是,Executive 程序有一个关键的元素,使其程序独一无二且对阿波罗的成功至关重要。

在 1960 年代,运行程序的主导思想是保持它们像洗衣机和烘干机一样简单:每个程序都占用设定的时间,然后按顺序运行。莱宁不喜欢这种方法。他知道阿波罗飞行任务中会有紧急事项,并且运行必要程序的时序也很紧迫,因此他在计算机中加入了异步元素。它具有排序和中断排序功能,以及分时功能。为每个程序分配一定的时间片,计算机每秒可以多次在它们之间切换。有些程序是持续运行的——例如,当导航程序运行时,每两秒钟会进行一次成本检查——但其他程序是异步的。对操作员来说,程序看起来是同时运行的,但实际上计算机每隔几微秒就在任务之间切换,所以看起来是同步的。

这使得计算机能够为程序分配优先级,同时在关键时刻为关键程序腾出资源。缺点是它不可预测。人们曾担心某个错误会导致程序陷入循环。解决方案是自动重启功能,可以在不丢失操作系统现有优先级系统的情况下重新启动计算机。

这正是阿波罗 11 号着陆最后时刻发生的情况。

广告

当宇航员下降到月球表面时,Executive 程序发现计算机中没有更多空间来运行新程序。这触发了 1201 警报,指示“Executive Overflow – No Core Sets”(执行溢出 – 无核心组),以及 1202 警报,指示“Executive Overflow – No VAC Areas”(执行溢出 – 无 VAC 区域)。这些警报反过来触发了软件重启,这是莱宁为防止异步计算机因错误而卡死循环而设计的故障安全措施。所有任务都被取消,然后重新启动,而不会丢失它们的优先级顺序或任何导航数据。第一次重启并没有解决问题;警报持续不断,直到巴兹·奥尔德林弄清楚了原因。

奥尔德林注意到,当他们输入 Verb 16 Noun 68(一个显示着陆点距离和登月舱速度的程序)时,会触发 1202 警报。意识到这个命令触发了警报,奥尔德林请求地面调出数据,从而将该命令从计算机中移除。

广告

最终,正是莱宁的远见卓识,让“鹰”号登月舱的导航计算机在几微秒内重启,同时还能保持飞行。没有它,阿波罗 11 号可能根本无法登陆月球。


资料来源:《Digital Apollo》作者:David Mindell。《The Apollo Guidance Computer》作者:Frank O’Brien。对参与阿波罗导航计算机工作的德雷珀工程师的采访;本视频在德雷珀的帮助下制作,德雷珀也批准了完整脚本。谢谢,德雷珀!

保持好奇

加入我们的列表

订阅我们的每周科学更新

查看我们的 隐私政策

订阅杂志

订阅可享封面价高达六折优惠 《发现》杂志。

订阅
广告

1篇免费文章