SpaceX использует Linux и обычные x86-процессоры в Falcon 9

Опубликована подборка информации о программном обеспечении, применяемом в ракете Falcon 9, основанная на отрывочных сведениях, упомянутых сотрудниками SpaceX в различных обсуждениях:

  • На бортовых системах Falcon 9 используется урезанный Linux и три дублирующие друг друга компьютера на базе обычных двухъядерных процессоров семейства x86. Применения специализированных чипов с особой радиационной защитой для компьютеров Falcon 9 не требуется, так как возвращаемая первая ступень не находится длительное время в открытом космосе и резервирования систем достаточно.

    Какой конкретно чип используется в Falcon 9 не сообщается, но использование типовых CPU обычная практика, например, на управляющий мультиплексор и демультиплексор (C&C MDM) Международной космической станции изначально был оснащён CPU Intel 80386SX 20 MHz, а в повседневной работе на МКС используется ноутбуки HP ZBook 15s с Debian Linux, Scientific Linux или Windows 10. Linux-системы применяются как удалённые терминалы к C&C MDM, а Windows для чтения электронной почты, просмотра Web и развлечений.

  • Управляющее полётом Falcon 9 ПО написано на C/C++ и запускается параллельно на каждом из трёх компьютеров. Три дублирующих компьютера необходимы для обеспечения должного уровня надёжности за счёт многократного резервирования. Результат каждого решения сравнивается с результатом, полученным на остальных компьютерах, и только при совпадении на всех трёх узлах команда принимается микроконтроллером, управляющим двигателями и решётчатыми рулями.

    Команда принимается микроконтроллером, если она поступила в трёх идентичных экземплярах, иначе выполняется последняя правильная инструкция. Если сбои чипа повторяются или команды перестали формироваться, то чип начинает игнорироваться и система работает на остальных компьютерах, в случае расхождения вычислений на которых применяется повторный запуск работы до совпадения результата. В случае выхода компьютеров из строя полёт успешно может быть завершён при наличии хотя бы одной системы, продолжающей работать.

  • Специфичное ПО для бортовых систем Falcon 9, симулятор ракеты, инструментарий для тестирования кода, управляющего полётом, коммуникационный код и ПО для анализа полёта с наземных систем разработано командой, которая включает примерно 35 человек.
  • Перед фактическим запуском ПО и оборудование управления полётом проходит испытание в симуляторе, в котором моделируются различные условия полёта и внештатные ситуации.
  • В доставляемом на орбиту пилотируемом космическом корабле Crew Dragon также используется Linux и полётное ПО на C++. Интерфейс, с которым работают космонавты, реализован на базе web-приложения на JavaScript, открываемого в Chromium. Управление производится через сенсорный экран, но на случай сбоя имеется и кнопочная панель для управления космическим кораблём.

Источник: http://www.opennet.ru/opennews/art.shtml?num=53083