---
id: "mb-20261008-a2b031"
kind: "deep"
title: "4KB内存与死机警报：阿波罗登月代码之母汉密尔顿的传奇遗产"
topic: "4KB内存与死机警报：阿波罗登月代码之母汉密尔顿的传奇遗产"
source_type: "generated"
status: "published"
generated_at: "2026-10-08 08:23:30"
frame_type: ["人文"]
legal_anchor_count: 0
transcript_citation_count: 0
---

# 4KB内存与死机警报：阿波罗登月代码之母汉密尔顿的传奇遗产

登月电脑内存只有4K，临死机前它自己掐掉杂活保住降落。

1969年7月20日，阿波罗11号登月舱离月面只有最后三分钟。
高度几百米，机舱里的蜂鸣器突然狂响。
显示屏爆出 1201 和 1202 警报。

宇航员蒙了，地面指挥中心手心里全是汗。
这两个错误代码在地面模拟时几乎没见过。
当时没人知道，是雷达开关旋钮打错了一个位置。
雷达系统开始发疯一样往电脑里塞无关的雷达扫描信号。
整台计算机的算力瞬间被吃满了。

在那个年代，计算机处理任务全靠老老实实排队。
先来先算，算完一个再下一个。
一旦算力跑满，死机就是唯一的结果。
离月球表面就几百米，要是电脑卡死，姿态推进器瞬间失控。
飞船会直接砸在月球上。

但那台登月电脑硬是没死机。
不仅没死机，它还稳稳当当地把阿姆斯特朗送到了月面上。

怎么做到的？
写这套登月机载代码的负责人，是麻省理工只有三十出头的玛格丽特·汉密尔顿。
在硬件决定一切的年代，她提前给软件做了一套在当时极为前卫的机制：异步执行与优先级调度。

她给电脑里的每一个任务都标了权重。
维持飞船姿态、控制推进器点火、计算落月轨道，这是保命任务，权重最高。
雷达突然塞进来的测距扫描，是辅助任务，权重靠后。

当雷达信号把CPU负荷推过极限的时候，系统根本没有死等。
它直接强行掐掉所有低优先级的雷达计算，把宝贵的内存和周期全部腾出来，死保推进器控制。
那两声刺耳的 1201 警报，其实根本不用慌。
那是电脑在向宇航员汇报：我把多余的杂活全扔了，正在全速保降落。

很多人不知道，在阿波罗计划立项之初，软件根本不受待见。
写代码被当成给硬件打下手的打字活，算不上严肃的工程。
汉密尔顿提出要给软件做独立的容错设计和工程验证时，甚至有人觉得她是小题大做。
后来她自己生造了一个词，叫 Software Engineering，软件工程。
她硬是把写代码这门手艺，从硬件的影子底下拽出来，变成了独立的现代学科。

那张著名的历史照片很多人都看过。
年轻的汉密尔顿站在麻省理工实验室里，身旁码着的阿波罗代码纸，厚度比她整个人还要高。
整整上万页打孔纸带，最后要人工一行一行用细铜线穿过磁环，织成只读内存。
整台电脑的运行内存只有 4KB，只读内存只有 72KB。
现在连一张表情包都装不下的算力，带人类跨过了 38 万公里的深空。

刚刚，麻省理工发布消息，90 岁的汉密尔顿安静走完了她的一生。
今天全世界的操作系统、服务器和航天器里，只要还在跑着进程调度与优先级容错，
骨子里就依然跳动着当年那个年轻姑娘写下的逻辑。
传奇谢幕，但代码还在深空里飞。

_Rendered by mubei-terminal._
