Недавно космический корабль «Новые горизонты» на пути к Плутону столкнулся с «трудно обнаруживаемой временной ошибкой в последовательности команд космического корабля». Означает ли это, что это была ошибка многопоточности или что-то в этом роде? Какие данные будут отправлены на Землю, чтобы помочь НАСА диагностировать проблему? Получат ли они трассировку стека? Я предполагаю, что огромное расстояние вызовет некоторую ненадежность передачи помимо времени передачи 4,5 часа, поэтому я предполагаю, что данные, которые передаются туда и обратно, должны быть довольно минимальными.
Первая подсказка заключалась в том, на какую частоту переключился космический корабль, поэтому они многое узнали, просто восстановив блокировку связи. Затем выясняется, что необходимые данные находились в обычных служебных данных/лог-файлах, поскольку сбор специальных данных не упоминается.
Многопоточность не была проблемой, и на самом деле программное обеспечение никогда не зависало. Его просто попросили сделать две ресурсоемкие операции одновременно: (1) сжать научные данные и (2) скопировать загрузку команд в энергонезависимую память. При этом использовался больший процент ЦП, чем ожидалось системой, и системы управления сбоями решили, что процессор работает неправильно, и принудительно переключились на резервный компьютер. Трассировка стека в этом случае не помогла бы.
Источник: Вашингтон Пост .
New Horizons несет две компьютерные системы. Как сообщила команда New Horizons 4 июля :
Оперативный центр миссии в Лаборатории прикладной физики Университета Джона Хопкинса, Лорел, Мэриленд, потерял связь с беспилотным космическим кораблем — теперь через 10 дней после прибытия на Плутон — в 13:54 по восточному поясному времени и восстановил связь с New Horizons в 3:00: 15:00 по восточноевропейскому времени, через сеть дальнего космоса НАСА.
За это время автопилот на борту космического корабля распознал проблему и, как он и запрограммирован в такой ситуации, переключился с основного компьютера на резервный. Автопилот перевел космический корабль в «безопасный режим» и приказал резервному компьютеру восстановить связь с Землей. Затем New Horizons начала передавать телеметрию, чтобы помочь инженерам диагностировать проблему.
5 июля они опубликовали это и объяснили проблему:
Расследование аномалии, из-за которой New Horizons перешла в «безопасный режим» 4 июля, пришло к выводу, что на космическом корабле не произошло никаких аппаратных или программных сбоев. Основной причиной инцидента была трудно обнаруживаемая временная ошибка в последовательности команд космического корабля, которая произошла во время операции по подготовке к близкому пролету. Никаких подобных операций не планируется до конца встречи с Плутоном.
«Я рад, что наша команда миссии быстро определила проблему и обеспечила исправность космического корабля», — сказал Джим Грин, директор NASA по планетарным наукам. «Теперь, когда Плутон находится в поле нашего зрения, мы находимся на грани возвращения к нормальной работе и переходу к золоту».
Они ничего не упомянули о необходимости загрузки журналов, только «телеметрию», и, учитывая задержку связи и скорость, с которой они диагностировали проблему, я сомневаюсь, что они загружали много данных. Я мало знаю о технических деталях, но я был бы совершенно потрясен, если бы у них не было симулятора или дублирующего ЦП MIPS R3000 на Земле.
Я предполагаю, что они просто воспроизвели серию команд, которые они отправили зонду, на свой компьютер «виртуальные новые горизонты» на Земле и осознали ошибку своего временного сбоя. Ошибку, хотя, по их словам, было трудно обнаружить, возможно, (очень упрощенно) что-то вроде:
Y < X. Команда B не выполнена. Компьютер обнаруживает сбой, переключается на резервный, звонит домой.
Даниэль
Даниэль
Нейт Парсонс