Ну да ладно, чего эти баги то жалеть, лишь бы популяризаторам было б хорошо, главное, что Eagle has landed.
1. Миссия Apollo 8, 1968 год.
Участники: Фрэнк Борман, Джеймс Ловелл, Уильям Андерс.
Коды ошибок: Не зарегистрированы.
Влияние: Через 11 часов 51 минуту после старта наземный вычислительный комплекс управления полётом прекратил обработку данных на 10 минут. Одновременно перестали выполнять штатные вычисления основной и резервный компьютеры.
Причина: Программная ошибка привела к выполнению непрерываемой последовательности инструкций на обоих компьютерах. Резервирование не обеспечило сохранение работоспособности, поскольку обе системы выполняли программное обеспечение с одинаковым дефектом.
Результат: Обработка данных восстановлена. Программная ошибка впоследствии устранена. На выполнение основных задач миссии существенного влияния не оказала.
2. Миссия Apollo 11, 1969 год.
Участники: Нил Армстронг, Базз Олдрин, Майкл Коллинз.
Коды ошибок: 1201, 1202.
Код 1201: Executive Overflow, No VAC Areas. Отсутствие свободных областей памяти для промежуточных вычислений.
Код 1202: Executive Overflow, No Core Sets. Отсутствие свободных блоков памяти для выполнения новых программных задач.
Влияние: Во время снижения лунного модуля Eagle компьютер AGC зарегистрировал пять аварийных событий. Четыре раза был выдан код 1202, один раз код 1201. Каждое событие приводило к программному перезапуску выполняемых задач. Возник риск прекращения посадки.
Причина: Дополнительные обращения к памяти со стороны интерфейса радара сближения потребляли приблизительно 13 процентов вычислительного времени процессора. В результате периодическая навигационная задача SERVICER не успевала завершиться до следующего запуска. Незавершённые экземпляры накапливались и исчерпывали ресурсы планировщика Executive.
Первопричина дополнительной нагрузки находилась в аппаратном интерфейсе радара. Однако непосредственно аварийные коды формировались программной системой управления задачами.
Результат: Механизм BAILOUT освобождал ресурсы и восстанавливал выполнение приоритетных вычислений. Навигация и управление посадкой сохранялись. После перехода к менее ресурсоёмкому режиму управления аварийные сообщения прекратились. Посадка выполнена успешно.
3. Миссия Apollo 11, 1969 год.
Участники: Нил Армстронг, Базз Олдрин, Майкл Коллинз.
Коды ошибок: Не выдавались. Затронута программа P66.
Влияние: Во время заключительного этапа посадки наблюдались колебания тяги посадочного двигателя. По результатам последующего анализа телеметрии амплитуда колебаний достигала приблизительно 25 процентов между максимальным и минимальным значениями. Устойчивость автоматического регулирования оказалась близкой к предельной.
Причина: Алгоритм регулирования тяги использовал компенсацию задержки реакции двигателя величиной 0,2 секунды. Фактическая задержка составляла приблизительно 0,075 секунды. Несоответствие параметров программной модели приводило к избыточной коррекции тяги.
Дополнительным фактором являлась неполная компенсация ускорений инерциальной платформы при вращении аппарата относительно центра масс. Алгоритм интерпретировал часть измерений как изменение вертикальной скорости.
Результат: Посадка выполнена успешно. Ошибка выявлена при последующем анализе телеметрии и математического моделирования.
4. Миссия Apollo 12, 1969 год.
Участники: Чарльз Конрад, Алан Бин, Ричард Гордон.
Коды ошибок: Не выдавались. Затронута программа P66.
Влияние: При выполнении посадки повторились колебания тяги, зафиксированные на Apollo 11. Отклонения составляли приблизительно 25 процентов между максимальными и минимальными значениями. Система автоматического регулирования сохраняла лишь ограниченный запас устойчивости.
Причина: Использовался алгоритм управления тягой с теми же некорректными параметрами компенсации задержки двигателя. Программная модель предполагала более медленную реакцию двигателя, чем наблюдалась в действительности. Дополнительно алгоритм не компенсировал ускорения инерциальной платформы, возникающие при угловых манёврах лунного модуля.
Результат: Посадка выполнена успешно. После анализа данных Apollo 11 и Apollo 12 были изменены параметры компенсации задержки и алгоритм обработки инерциальных измерений. Исправления внедрены начиная с Apollo 14.
А это ещё не считая полётов без экипажей....
#space #космос #appollo #разработка #zerobugpolicy