С Земли на орбиту с Linux и SpaceX

  • Sep 05, 2023

Рабочая лошадка SpaceX Falcon 9, на которой астронавты НАСА Боб Бенкен и Даг Херли доставили на Международную космическую станцию, работает на жидком кислороде, ракетном керосине и Linux.

Рекомендуемые

  • Windows 10 слишком популярна сама по себе?
  • 5 способов найти лучшее место для начала карьеры
  • Вот как генеративный ИИ изменит гиг-экономику к лучшему
  • 3 причины, почему я предпочитаю этот Android за 300 долларов Google Pixel 6a

В ужасный год это был великий момент. 30 мая, SpaceX's Экипаж Дракона, первый в истории частный пилотируемый космический корабль и первый пилотируемый космический полет США за девять лет, успешно доставил на орбиту астронавтов НАСА Боба Бенкена и Дага Херли. Их взял многоразовый Falcon 9 от SpaceX, работающий на ракетном топливе и Linux.

Как и суперкомпьютеры, устройства Интернета вещей (IoT) и многие критически важные устройства, Falcon 9 работает под управлением Linux. Инженеры-программисты SpaceX объяснили несколько лет назад, как Программирование Falcon 9 работает.

Тогда разработчики заявили:

«Команда Flight Software — около 35 человек. Мы пишем весь код для приложений Falcon 9, Grasshopper [испытательная ракета Falcon 9] и Dragon; и выполнять работу с основной платформой, в том числе и на этих автомобилях; мы также пишем программное обеспечение для моделирования; проверить код рейса; написать программное обеспечение для связи и анализа, развернутое на наших наземных станциях. Мы также работаем в Центре управления полетами, чтобы поддерживать активные миссии».

Бортовая операционная система Falcon 9 представляет собой урезанную Linux, работающую на трех обычных двухъядерных процессорах x86. Само полетное программное обеспечение работает отдельно на каждом процессоре и написано на C/C++.

Обычный? Да, обычный. Видите ли, процессоры космических кораблей далеко не самые новые и лучшие. Они разработаны для космических кораблей, путь от чертежной доски до запуска которых занимает годы – даже десятилетия. Например, Международная космическая станция (МКС) работает на процессорах Intel 80386SX 1988 года выпуска с тактовой частотой 20 МГц. Однако мы не знаем, какие чипы использует Falcon 9. Однако есть вероятность, что их дизайн как минимум на десять лет старше того, что вы купили бы сейчас в Best Buy.

Конечно, хотя эти древние чипы и работают для демультиплексора командно-контрольного мультиплексора станции (C&C MDM), ни для чего другого они не очень годятся. Для обычной повседневной работы космонавты используют HP ZBook 15s бег Дебиан Линукс, Научный Linuxи Windows 10. Системы Linux действуют как удаленные терминалы для C&C MDM, а системы Windows используются для электронной почты, Интернета и развлечений.

Однако обычно чипы, отправляющиеся в космос, не являются обычными чипами. Процессоры, которые остаются в космосе, должны быть устойчивыми к радиации. В противном случае они имеют тенденцию выходить из строя из-за воздействия ионизирующего излучения и космических лучей. Эти специализированные процессоры проходят годы проектных работ, а затем еще несколько лет испытаний, прежде чем они будут сертифицированы для космических полетов. Например, НАСА ожидает появление процессора общего назначения следующего поколения — ARM A53. вариант, который вы, возможно, знаете по Raspberry Pi 3, который будет готов к запуску в 2021 году. Поскольку первая ступень Falcon 9 приземляется сама, ее чипы не нуждаются в радиационной защите.

Почему три процессора? Это потому, что, как объяснено на Исследование пространства StackExchange, SpaceX использует Актер-Судья система предоставления безопасность за счет резервирования. В этой системе каждый раз, когда принимается решение, оно сравнивается с результатами других ядер. В случае возникновения разногласий решение отменяется и процесс возобновляется. Только когда каждый процессор выдает один и тот же ответ, команда отправляется на микроконтроллеры PowerPC.

Эти контроллеры, которые управляют ракетными двигателями и стабилизаторами, получают по три команды от каждого из процессоров x86. Если все три командные строки идентичны, то микроконтроллер выполняет команду, но если одна из трех неверная, контроллер выполняет последнюю ранее правильную инструкцию. Если что-то пойдет не так, Falcon 9 игнорирует команды неисправного чипа.

Смысл этой тройной избыточности «скажи мне три раза» состоит в том, чтобы обеспечить необходимую отказоустойчивость без необходимости платить за дорогие микросхемы, предназначенные для конкретного места. Современные самолеты, такие как новые самолеты Airbus, используют аналогичный подход в своих электродистанционных системах.

Прежде чем увидеть полет, SpaceX тестирует свое летное программное и аппаратное обеспечение на столе. Там они могут запускать моделирование полета с катастрофическими сбоями, не теряя при этом ракеты.

Космический корабль «Дракон» также работает под управлением Linux, а программное обеспечение для полетов написано на C++. Интерфейс сенсорного экрана корабля визуализируется с использованием Chromium и JavaScript. Если что-то пойдет не так с интерфейсом, у астронавтов есть физические кнопки для управления космическим кораблем.

Итак, отчасти благодаря Linux, мы вернулись к пилотируемым космическим полетам в США. И, похоже, пингвины могут летать, имея за собой достаточную ракетную мощность.

Похожие истории:

  • Быстрый и доступный небесный интернет уже почти здесь
  • Очередной лунный выстрел НАСА? Неа. Вы не можете BS свой путь в космос
  • Самые быстрые в мире суперкомпьютеры с Linux работают быстрее, чем когда-либо