< Return to Video

NASA 的第一位软件工程师:玛格丽特 · 汉密尔顿

  • 0:07 - 0:11
    1969 年 7 月 20 日,
    大约下午四点,
  • 0:11 - 0:16
    人类离降落月球表面
    只差几分钟的路程。
  • 0:16 - 0:19
    但是在宇航员开始
    着手最后的降落之前,
  • 0:19 - 0:21
    有一个紧急信号灯亮起了。
  • 0:21 - 0:23
    有某样东西造成了电脑超负荷,
  • 0:23 - 0:26
    导致登月舱可能需要迫降。
  • 0:26 - 0:29
    地面上的玛格丽特·汉密尔顿
    (Margaret Hamilton) 摒住了呼吸。
  • 0:29 - 0:32
    她领导的团队负责开发
    开创性的飞行软件,
  • 0:32 - 0:35
    所以她知道这次任务必须万无一失。
  • 0:35 - 0:38
    但是在这最后关头
    发生的紧急情况,
  • 0:38 - 0:43
    很快将证明她的软件
    正在如计划正常运作。
  • 0:43 - 0:48
    出生在印第安纳州保利(Paoli),
    今年 33 岁的汉密尔顿总是充满好奇。
  • 0:48 - 0:51
    大学期间,她主修的是数学和哲学,
  • 0:51 - 0:56
    之后在麻省理工学院
    取得了一个研究岗位,
  • 0:56 - 0:57
    以支付研究生院的学费。
  • 0:57 - 1:00
    在这儿,她首次接触了电脑,
  • 1:00 - 1:05
    开发了支援研究混沌理念
    这个新领域的软件。
  • 1:05 - 1:08
    随后,在麻省理工学院的林肯实验室,
  • 1:08 - 1:11
    汉密尔顿为美国的第一个
    防空系统开发出了
  • 1:11 - 1:13
    用以侦察敌机的软件。
  • 1:13 - 1:17
    但当她听说著名工程师
    查尔斯 · 德雷帕(Charles Draper)
  • 1:17 - 1:19
    在找将人类送上月球的助手时,
  • 1:19 - 1:22
    她马上加入了他的团队。
  • 1:22 - 1:26
    美国航空航天局(NASA)指望德雷帕
    以及他由 400 多名工程师组成的团队
  • 1:26 - 1:29
    能够发明出第一台
    小型数字飞行计算机,
  • 1:29 - 1:31
    阿波罗制导计算机。
  • 1:31 - 1:34
    这套装置会根据宇航员输入的信息
  • 1:34 - 1:36
    进行导航、矫正航线,
  • 1:36 - 1:38
    并控制航天飞船。
  • 1:38 - 1:42
    那个时候的电脑不仅不可靠,
    还大到能塞满整个房间,
  • 1:42 - 1:45
    而阿波罗制导计算机
    在运作时必须零失误,
  • 1:45 - 1:49
    并且能放进一立方英尺的空间中。
  • 1:49 - 1:52
    德雷帕将实验室分为两个组,
  • 1:52 - 1:55
    一个团队设计计算机硬件,
    另一个团队开发软件。
  • 1:55 - 1:59
    汉密尔顿领导的团队负责
    开发主板飞行软件,
  • 1:59 - 2:01
    运用于命令舱和登月舱。
  • 2:01 - 2:05
    她为这项下了大赌注的工作
    取了一个名字,
  • 2:05 - 2:07
    叫做“软件工程”。
  • 2:07 - 2:12
    由于人命关天,
    所以每个程序必须能够完美执行。
  • 2:12 - 2:16
    玛格丽特的软件需要
    快速检测到未预期的错误,
  • 2:16 - 2:18
    并且即时修复它们。
  • 2:18 - 2:22
    但是这种随机应变的软件
    是非常难开发的,
  • 2:22 - 2:26
    因为早期软件的修复只能
    依照事先设置的顺序执行。
  • 2:26 - 2:27
    为了解决这个问题,
  • 2:27 - 2:30
    玛格丽特将她的程序设计成“非同步”,
  • 2:30 - 2:36
    意思是这个软件会打断相对
    不重要的工作,先执行重要的工作。
  • 2:36 - 2:39
    她的团队针对每个任务
    指定独一无二的优先权,
  • 2:39 - 2:42
    以确保每个工作能依照正确顺序,
  • 2:42 - 2:46
    在正确的时间点运行——
    无论发生什么意外。
  • 2:46 - 2:47
    在实现这个突破性的进展后,
  • 2:47 - 2:51
    玛格丽特意识到她的软件
    同样可以帮助宇航员
  • 2:51 - 2:53
    在非同步的环境下工作。
  • 2:53 - 2:55
    她设计了优先级显示,
  • 2:55 - 2:57
    将会打断宇航员按计划执行的任务,
  • 2:57 - 2:59
    以此来警告他们发生的紧急情况。
  • 2:59 - 3:02
    宇航员随后可以和任务控制中心沟通,
  • 3:02 - 3:05
    以确定最佳的前进路线。
  • 3:05 - 3:09
    这标志着飞行软件第一次直接
  • 3:09 - 3:12
    与飞行员进行异步沟通。
  • 3:12 - 3:16
    正是这些故障保险
    在登月前触发了警告。
  • 3:16 - 3:19
    巴兹·奥尔德林(Buzz Aldrin)
    快速意识到了他的错误,
  • 3:19 - 3:23
    他不小心碰到了会合点雷达开关。
  • 3:23 - 3:25
    这个雷达在返程中十分重要,
  • 3:25 - 3:29
    但此刻,它消耗了重要的计算资源。
  • 3:29 - 3:34
    幸运的是,阿波罗制导计算机
    有足够的装备来处理这个问题。
  • 3:34 - 3:37
    在这次超负荷发生期间,
    软件重启了程序,
  • 3:37 - 3:40
    只处理最高优先级的工作——
  • 3:40 - 3:43
    包括项目中必须执行的降落。
  • 3:43 - 3:46
    这个优先级显示,
    给了宇航员一个机会
  • 3:46 - 3:49
    选择降落还是不降落。
  • 3:49 - 3:53
    在还剩最后几分钟的紧要关头,
    任务控制中心下达了命令。
  • 3:53 - 3:57
    阿波罗 11 号的降落
    在宇航员、任务控制中心、
  • 3:57 - 4:02
    软件和硬件的协作下得以成功完成。
  • 4:02 - 4:07
    肯尼迪总统的登月目标
    鼓舞了工程师和科学家开展这项工作,
  • 4:07 - 4:11
    而汉密尔顿对这次任务功不可没。
  • 4:11 - 4:14
    她从事过的性命攸关的工作
    不只体现在阿波罗 11 号上,
  • 4:14 - 4:20
    所有阿波罗载人任务的飞行软件
    都从未出现任何漏洞。
  • 4:20 - 4:22
    在她完成阿波罗计划之后,
  • 4:22 - 4:26
    汉密尔顿成立了一家公司,
    使用其独特的通用系统语言
  • 4:26 - 4:29
    来为多种系统和软件创造突破。
  • 4:29 - 4:34
    2003 年,美国航空航天局
    为表彰她的成就,
  • 4:34 - 4:37
    授予了她最高金额的个人奖励。
  • 4:37 - 4:42
    在她的软件首次引导
    宇航员登月后的 47 年,
  • 4:42 - 4:45
    汉密尔顿被授予总统自由勋章,
  • 4:45 - 4:48
    理由是:她改变了我们对科技的思考。
Title:
NASA 的第一位软件工程师:玛格丽特 · 汉密尔顿
Speaker:
马特 · 波特 和 玛格丽特 · 汉密尔顿
Description:

查看完整课程:https://e.d.com/lessons/software -that-sent-humans-to-the-moon-matt-porter-and-margaret-hamilton

阿波罗 11 号登月成功是宇航员、任务控制中心、软件和硬件之间完美协作的成果。如果没有玛格丽特 · 汉密尔顿(Margaret Hamilton)这位工程师的贡献,这一切都不可能实现。这位先驱者是谁?马特·波特(Matt Porter)和玛格丽特·汉密尔顿详细介绍了一位女子和她的团队如何开发出将人类送上月球的软件。

课程设计:马特·波特 和 玛格丽特·汉密尔顿
指导:图腾工作室(TOTEM Studio)

more » « less
Video Language:
English
Team:
closed TED
Project:
TED-Ed
Duration:
04:49

Chinese, Simplified subtitles

Revisions