«Ошибка ПО в космосе — гибель экипажа»: как NASA защитила компьютер Artemis II от сбоев

А система там достаточно хитрая

«Ошибка ПО в космосе — гибель экипажа»: как NASA защитила компьютер Artemis II от сбоев

На борту Apollo за жизнь астронавтов отвечали механические переключатели и реле — компьютер управлял лишь частью систем. 

На Orion все иначе: бортовое ПО контролирует каждый термоклапан, каждое реле питания, всю систему жизнеобеспечения. 

Это означает, что единственная необнаруженная ошибка в 250 000 милях от Земли может стоить жизни четырем членам экипажа. Аварийной посадки нет. Техника не пришлют.

Восемь процессоров вместо одного

NASA отказалось от классической «тройной избыточности». Orion использует два компьютера управления полетом, каждый из которых содержит два модуля управления. Как итого, четыре FCM (Flight Control Module). 

Но каждый модуль, в свою очередь, состоит из пары самопроверяющихся процессоров. В итоге восемь CPU параллельно выполняют одни и те же задачи.

Ключевой принцип — «отказ в тишину». Его суть в том, что если процессор дает неверный результат из-за космического излучения, он не передает ошибочную команду, а просто замолкает. Система переключается на следующий исправный модуль в порядке приоритета.

«Мы можем потерять три FCM за 22 секунды и все равно безопасно долететь на последнем», — объяснил Нейт Уйтенбрук, руководитель интеграции ПО программы Orion в NASA.

Детерминизм как основа надежности

Заставить восемь независимых процессоров работать синхронно — нетривиальная задача. Малейшее расхождение в таймингах может выглядеть как сбой. 

В NASA решили этот момент через жесткую детерминированную архитектуру: вся сеть работает по единому времени, которое каждую секунду перераспределяется между всеми модулями. Если какой-то FCM не успевает выполнить задачу в отведенный срок, он автоматически замолкает, перезагружается и синхронизируется заново.

Последний рубеж

На случай, если все четыре основных FCM откажут одновременно (например, из-за ошибки в общем коде), на борту работает полностью независимая резервная система BFS. 

Другое железо, другая операционная система, другая команда разработчиков. Это сделано намеренно: если баг есть в основном ПО, он с высокой вероятностью не повторится в резервном.

И как вишенка на торте — даже при полном обесточивании корабль выживает. При восстановлении питания, Orion автоматически стабилизируется, разворачивает солнечные панели к Солнцу и пытается восстановить связь с Землей. 

В это время экипаж может вручную настроить системы жизнеобеспечения или надеть скафандры.

Соцсети: Юлия Зубарева
Вам может быть интересно
easy