Оказалось, что «мозг» Falcon 9 работает под управлением Linux и трёх процессоров
Принято считать, что в космической отрасли используется совершенно непривычная потребительскому сектору электроника. Зачастую это узконаправленная аппаратная и программная часть — её использование только в космической отрасли оправдано необходимостью стабильности и надёжности.
Тем не менее, бывают в этой сфере и реальные исключения. Как пишет ZDNet, команда разработчиков Flight Software приоткрыла занавес по части аппаратной и программной структуры ракеты-носителя Falcon 9 от SpaceX.
Команда Flight Software насчитывает в штате около 35 человек. Мы пишем код для программ Falcon 9, Grasshopper [The Falcon 9 test rocket] и Dragon. Мы выполняем основную работу на платформе, в том числе и на этих машинах.
Мы также пишем имитационное программное обеспечение, тестируем код полета, пишем коммуникационное и аналитическое программное обеспечение, развёрнутое на наших наземных станциях, — рассказывали о себе в Flight Software.
Как оказалось, мозг Falcon 9 работает под управлением урезанной версии Linux. На борту тоже всё просто — это три x86-совместимых 2-ядерных процессора.
О каких процессорах идёт речь — неизвестно. Стоит учитывать, что, например, та же Международная космическая станция работает на процессорах Intel 80386SX с частотой 20 МГц. Они 1988 года выпуска.
Но в случае с ракетой-носителем от SpaceX, вероятно, это современные продукты, но точно не обычные. Falcon 9 достаточно малый промежуток времени находится на большой высоте, а значит аппаратура не должна подвергаться воздействию радиации. В данном случае чипы точно должны быть радиационно-закалёнными для защиты от возможного выхода из строя.
Для успешного совершения полётов и работы систем также требуется писать соответствующее программное обеспечение, и оно разработано на распространённых языках С/С++. При этом программы запускаются на каждом процессоре по отдельности.
Отмечается, что комплекс, состоящий из трёх одинаковых и независимых процессоров требуется для того, чтобы обеспечивать безопасность работы и снижать риск отказов.
Результаты расчётов на каждом чипе сравниваются: в случае обнаруженных различий конечный результат сбрасывается, запуская процесс заново.
В случае успешных вычислений каждый процессор посылает команду микроконтроллерам PowerPC. Они тоже сравнивают полученные результаты. Стоит отметить, что современные самолёты, в том числе и новые Airbus, используют аналогичный подход в своих системах.
Кстати, сенсорный интерфейс корабля визуализируется с помощью Chromium и JavaScript. Если что-то пойдет не так, у астронавтов есть физические кнопки для управления космическим кораблем.
Читать первым в Telegram-канале «Код Дурова»