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. Управление производится через сенсорный экран, но на случай сбоя имеется и кнопочная панель для управления космическим кораблём.