Cycle steal
Известно, что первая высадка человека на Луну 20 июля 1969 года едва не была прервана в последний момент: виной тому послужило ошибочное срабатывание аварийной сигнализации бортового компьютера лунного модуля “Аполлона-11” (Apollo Guidance Computer, AGC). Оно было вызвано серией захватов цикла памяти (cycle stealing) от радара, отслеживавшего командный модуль на лунной орбите, из-за редкого аппаратного бага, который обнаружили еще в ходе миссии “Аполлона-5”, но не стали устранять, сочтя более опасным полет с новой, не испытанной еще в деле радарной системой.
Однако именно в ходе миссии “Аполлона-11” случайные вариации фазы сигнала на частоте 800 Гц создали впечатление быстрых небольших отклонений антенны от стационарного положения, и обработка этих фантомных событий поспособствовала перегрузке навигационного компьютера. Руководитель группы навигации Стив Бэйлс, посоветовавшись с Баззом Олдрином, на предупреждения и мягкие рестарты компьютера наплевал, сочтя их следствием переполнения при исполнении инструкций (и оказался прав). “Всё совсем как в симуляции”, прозвучало при этом из соседней комнаты, и человек, позволивший себе такую реплику, достоин, вероятно, считаться первопредком лунных конспирологов.
Бэйлс скомандовал продолжать посадку, за что впоследствии был удостоен престижной награды и публичной похвалы от президента Никсона.
Спецификации бортового компьютера “Сатурна-V” (LVDC), управлявшего ракетой на этапе старта с Земли, по нынешним временам даже для умного чайника чересчур бюджетны. К сожалению, исходный код LVDC канул в бездну времени, ничего не известно и о попытках скопировать его с модулей памяти уцелевших “Сатурнов”, которые ныне исполняют функции экспонатов в Хантсвилле и на острове Меррит.
Любопытно, справилась бы с задачей обратной разработки этого софта команда, отвечающая за непрестанные обновления и усовершенствования Google Translate, или для этого ей бы потребовалось недопустимо узко сфокусироваться?