{"id":"mb-20261008-a2b031","kind":"deep","title":"4KB内存与死机警报：阿波罗登月代码之母汉密尔顿的传奇遗产","summary":"阿波罗11号落月前3分钟算力被雷达信号挤爆，正是玛格丽特·汉密尔顿开创的优先级调度机制让电脑果断掐掉杂活、死保推进器，最终完成人类首次登月。如今这位定义了“软件工程”的先驱以90岁高龄辞世，回顾她用极限制约创造的工程奇迹。","body":"登月电脑内存只有4K，临死机前它自己掐掉杂活保住降落。\n\n1969年7月20日，阿波罗11号登月舱离月面只有最后三分钟。\n高度几百米，机舱里的蜂鸣器突然狂响。\n显示屏爆出 1201 和 1202 警报。\n\n宇航员蒙了，地面指挥中心手心里全是汗。\n这两个错误代码在地面模拟时几乎没见过。\n当时没人知道，是雷达开关旋钮打错了一个位置。\n雷达系统开始发疯一样往电脑里塞无关的雷达扫描信号。\n整台计算机的算力瞬间被吃满了。\n\n在那个年代，计算机处理任务全靠老老实实排队。\n先来先算，算完一个再下一个。\n一旦算力跑满，死机就是唯一的结果。\n离月球表面就几百米，要是电脑卡死，姿态推进器瞬间失控。\n飞船会直接砸在月球上。\n\n但那台登月电脑硬是没死机。\n不仅没死机，它还稳稳当当地把阿姆斯特朗送到了月面上。\n\n怎么做到的？\n写这套登月机载代码的负责人，是麻省理工只有三十出头的玛格丽特·汉密尔顿。\n在硬件决定一切的年代，她提前给软件做了一套在当时极为前卫的机制：异步执行与优先级调度。\n\n她给电脑里的每一个任务都标了权重。\n维持飞船姿态、控制推进器点火、计算落月轨道，这是保命任务，权重最高。\n雷达突然塞进来的测距扫描，是辅助任务，权重靠后。\n\n当雷达信号把CPU负荷推过极限的时候，系统根本没有死等。\n它直接强行掐掉所有低优先级的雷达计算，把宝贵的内存和周期全部腾出来，死保推进器控制。\n那两声刺耳的 1201 警报，其实根本不用慌。\n那是电脑在向宇航员汇报：我把多余的杂活全扔了，正在全速保降落。\n\n很多人不知道，在阿波罗计划立项之初，软件根本不受待见。\n写代码被当成给硬件打下手的打字活，算不上严肃的工程。\n汉密尔顿提出要给软件做独立的容错设计和工程验证时，甚至有人觉得她是小题大做。\n后来她自己生造了一个词，叫 Software Engineering，软件工程。\n她硬是把写代码这门手艺，从硬件的影子底下拽出来，变成了独立的现代学科。\n\n那张著名的历史照片很多人都看过。\n年轻的汉密尔顿站在麻省理工实验室里，身旁码着的阿波罗代码纸，厚度比她整个人还要高。\n整整上万页打孔纸带，最后要人工一行一行用细铜线穿过磁环，织成只读内存。\n整台电脑的运行内存只有 4KB，只读内存只有 72KB。\n现在连一张表情包都装不下的算力，带人类跨过了 38 万公里的深空。\n\n刚刚，麻省理工发布消息，90 岁的汉密尔顿安静走完了她的一生。\n今天全世界的操作系统、服务器和航天器里，只要还在跑着进程调度与优先级容错，\n骨子里就依然跳动着当年那个年轻姑娘写下的逻辑。\n传奇谢幕，但代码还在深空里飞。","topic":"4KB内存与死机警报：阿波罗登月代码之母汉密尔顿的传奇遗产","frame_type":["人文"],"citations":[],"channel_note":"","identity_notice":"","source_type":"generated","status":"published","generated_at":"2026-10-08 08:23:30","legal_anchor_count":0,"transcript_citation_count":0}