Falcon 9 компании SpaceX работает на Linux
Знаменательное для американской космонавтики событие - первый в мире запуск человека в космос, осуществленный частной компанией Илона Маска, пробудил интерес сообщества к технической составляющей проекта. Демонстрация всего процесса старта, подлета и стыковки Crew Dragon  с МКС позволили внимательно оценить систему управления и компьютерные системы корабля. В дальнейшем специалисты провели оценку программного обеспечения, применяемого как на ракетоносителе SpaceX Falcon 9, так и на самой станции. Ранее разработчики из компании SpaceX уже сообщали, что ракетный комплекс Falcon 9 работает под управлением «урезанной» операционной системы Linux, на трех дублирующих друг друга двухъядерных центральных процессорах, созданных на основе архитектуры x86. Тройная подстраховка позволяет создать условия для бесперебойной работы всех систем Falcon 9.По заявлению специалистов в ракетах используются стандартные процессоры, не имеющие дополнительной защиты  от гравитационной перегрузки или повышенной радиации. Это объясняется тем, что работа первой ступени ракеты Falcon 9 от старта до посадки на Землю занимает совсем мало времени и тройного дублирования системы достаточно.Какие именно центральные процессоры используются в ракетах SpaceX не известно, однако именно архитектура x86 является в настоящее время основой для стандартных космических программ. Так управляющий мультиплексор и демультиплексор (C&C MDM) Международной Космической Станции работает на достаточно  древнем (по меркам электронных устройств) процессоре Intel 80386SX с частотой 20 МГц, выпущенном в 1988 году или 32 года назад.Астронавты на МКС для выполнения повседневных работ используют стандартные ноутбуки HP ZBook 15s под операционными системами Debian Linux, Scientific Linux или Windows 10. Причем системы на Linux служат для управления C&C MDM, а Windows используется для развлечения, просмотра электронной почты или серфинга в интернете. Программное обеспечение для Falcon 9 написано на языке C/C++ и работает на всех трех дублирующих процессорах. Условия эксплуатации в экстремальных условиях космоса требуют четкого исполнения команд на основании достоверных результатов. Поэтому команда управления решетчатыми рулями и двигателями будет выполнена только в случае, если результат вычисления будет одинаков на всех трех независимых системах. В противном случае продолжает выполняться последняя согласованная тремя системами команда. При отказе работы одной из систем, корабль переходит на работу с двумя оставшимися системами. Однако реализовать запуск и посадку можно и на одной компьютерной системе. Программное обеспечение для Falcon 9 и всех сопутствующих проектов было создано командой центра космических полетов Flight Software NASA, в составе которой трудится до 35 специалистов. Перед запуском эксперты несколько раз моделируют использование созданного программного обеспечения на различных штатных и критических ситуациях. Управление кораблем Crew Dragon также осуществляется с использованием Linux и программного обеспечения написанного на C++. Интерфейс управления открывается в Chromium и создан с использованием jаvascript. Работа осуществляется с использованием сенсорных мониторов и резервных панелей с физическими кнопками. Источник: zdnet