Миссия ESA Solar Orbiter будет обращена к Солнцу из орбиты Меркурия при его ближайшем приближении.
Увеличить / Миссия ESA Solar Orbiter будет обращена к Солнцу из орбиты Меркурия при его ближайшем приближении.

ESA / ATG medialab

Недавно запущенный ESA Solar Orbiter проведет годы в одном из самых неприятных мест Солнечной системы: солнце. Во время своей миссии Solar Orbiter будет на 10 миллионов километров ближе к Солнцу, чем Меркурий. И, заметьте, Меркурий достаточно близко, чтобы поддерживать температуру до 450 ° C на обращенной к Солнцу поверхности.

Чтобы противостоять таким температурам, Solar Orbiter будет полагаться на замысловатый тепловой экран. Однако этот тепловой экран будет защищать космический корабль только в том случае, если он направлен прямо на Солнце — нет достаточной защиты по бокам или сзади зонда. Соответственно, ESA разработало операционную систему реального времени (RTOS) для Solar Orbiter, которая может работать при очень строгих требованиях. Максимально допустимое отклонение от Солнца составляет всего 6,5 градусов. Любое отклонение, превышающее 2,3 градуса, допустимо только в течение очень короткого периода времени. Когда что-то пойдет не так и будет обнаружено опасное отклонение от цели, у Solar Orbiter будет всего 50 секунд на реакцию.

«У нас очень высокие требования к этой миссии», — говорит Мария Хернек, руководитель отдела систем программного обеспечения для полета в ESA. «Обычно перезагрузка такой платформы занимает около 40 секунд. Здесь у нас было всего 50 секунд, чтобы найти проблему, изолировать ее, снова запустить систему и предпринять действия по восстановлению».

Читайте также:
Новости Apple TV +: в этом месяце выйдет новый документ Брюса Спрингстина, обновление второго сезона «Утреннего шоу»

Повторяю: эта операционная система, находящаяся далеко в космосе, требует удаленной перезагрузки и восстановления за 50 секунд. В противном случае Solar Orbiter станет жареным.

Бильярдный шар OS

Чтобы справиться с такими жесткими сроками, космические корабли, такие как Solar Orbiter, почти всегда управляются операционными системами реального времени, которые работают совершенно иначе, чем те, которые вы и я знаем по среднему ноутбуку. Критерии, по которым мы оцениваем Windows или macOS, довольно просты. Они выполняют вычисление, и если результат этого вычисления правильный, то задача считается выполненной правильно. Операционные системы, используемые в космосе, добавляют по крайней мере еще один центральный критерий: вычисления должны выполняться правильно. в строго оговоренный срок. Если крайний срок не соблюден, задача считается невыполненной и завершается. А в космическом полете пропущенный срок довольно часто означает, что ваш космический корабль уже превратился в огненный шар или отклонился на неправильную орбиту. Нет смысла обрабатывать такие задачи дальше; вещи должны соответствовать очень точные часы.

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

Читайте также:
Это кошмар: лучшая версия Samsung Galaxy S20 FE может обойти Польшу!

Чтобы сравнить это с известными нам операционными системами, просто посмотрите любое сравнение скорости современных смартфонов. В это сделано EverythingApplePro, iPhone XS Max и Samsung S10 Plus идут лицом к лицу, открывая некоторые популярные приложения. Перед тестом оба телефона перезагружаются, и в них очищается кеш. Samsung открывает все приложения за 2 минуты 30 секунд, а iPhone работает за 2 минуты 54 секунды. Во втором раунде все приложения закрываются и снова открываются без перезапуска и очистки ОЗУ. Поскольку приложения все еще находятся в оперативной памяти, Samsung открывает их за 46 секунд, а iPhone — за 42 секунды. Это колоссальная двухминутная разница во времени между первой и второй попыткой. Но если бы телефоны должны были работать под управлением операционных систем реального времени, используемых для космических полетов, открытие этих приложений заняло бы точно такое же количество времени, сколько бы раз вы это ни пробовали, — вплоть до миллисекунды.

Вне времени у космических операционных систем есть еще много хитростей. Одно дело — работа в реальном времени, другое — детерминизм. Если бы вы каким-то образом убедили Крейга Федериги принять участие в одном из этих сравнений скорости, дали ему полный доступ к iPhone, который должен был быть протестирован, и попросили его точно предсказать, сколько времени потребуется этому iPhone, чтобы завершить тест, он бы наверно понятия не имею. Конечно, он, вероятно, сказал бы что-нибудь вроде «быстро», или «достаточно быстро», или даже «невероятно быстро», но не более того. Ни iOS, ни Android не являются детерминированной системой. Количество факторов, которые потенциально могут повлиять на результаты скорости, настолько велико, что сделать такие точные прогнозы практически невозможно. Но если бы телефон работал под управлением ОС космического уровня, инженер, имеющий доступ к системе, знал бы в яблочко что вызывает что в заданной последовательности и может рассчитать точное время, необходимое для любой данной задачи. Программное обеспечение космического уровня должно быть полностью предсказуемым и работать в строго определенные сроки.

Читайте также:
OnePlus с официальным заявлением, почему обновление 5 и 5T было отложено

Съемка на Луне (и за ее пределами) с VxWorks

Во времена Apollo операционные системы создавались индивидуально для каждой миссии. Конечно, часть кода использовалась повторно — например, части программного обеспечения, созданного для программы Apollo, дошли до Skylab и программы Shuttle. Но по большей части все приходилось делать с нуля.

В конце концов, предпочтительное ОС для НАСА пришло от WindRiver, компании, базирующейся в Аламеде, Калифорния. WindRiver выпустила полностью работоспособную коммерческую готовую операционную систему реального времени под названием VxWorks еще в 1987 году. Хотя VxWorks не была первой системой такого типа, она быстро стала наиболее широко применяемой из всех, что означает, что VxWorks вскоре стал популярным. глазами разработчиков миссии НАСА.

Первым полетом VxWorks стал зонд Clementine Moon, также известный как Научный эксперимент программы Deep Space. Еще в начале 1990-х Клементина отметила отход НАСА от гигантских программ, подобных Аполлону. Все должно было быть экономным, быстро развиваться и с ограниченным бюджетом. Таким образом, одним из вариантов конструкции зонда Clementine было использование VxWorks, и система произвела достаточно хорошее впечатление, чтобы получить второе свидание. VxWorks был выбран для миссии Mars Pathfinder.

Но не все было так радужно для этой RTOS. Ошибка — проблема инверсии приоритета — доставила массу проблем наземной команде НАСА. Вскоре после приземления система Pathfinder начала перезагружаться без видимой причины, что задерживало передачу собранных данных обратно на Землю. На поиск проблемы ушло три недели и еще 18 часов на ее устранение; проблема оказалась глубоко в механике VxWorks.

Изображение листинга Ли Хатчинсон (исходное изображение)