Когда говорят о космических полетах, больше всего уделяют внимание самим ракетоносителям, спутникам или шаттлам. Но все эти сложные устройства не могут работать, не имея интерфейса управления — операционной системы, управляющей всеми элементами космического аппарата.
С развитием компьютерной отрасли и усиленной ее интеграцией в космическую промышленность остро встал вопрос об операционных системах, которые смогли бы удовлетворить строгие требования космических агентств. Для работы в космосе необходима совершенная точность и скорость.
Изображение: ESA/ATG Medialab
Например, спутник Solar Orbiter, созданный для исследования Солнца и успешно запущенный в феврале этого года с мыса Канаверал, будет находиться на гелиоцентрической орбите – ближе к Солнцу, чем даже Меркурий. Для его защиты от высокой температуры был разработан специальный тепловой экран. Но есть один нюанс – этот щит должен быть всегда направлен прямо на Солнце. Отклонение всего на 2,3° в течении минуты приведет к необратимым последствиям – повреждению и выходу из строя Solar Orbiter. Поэтому на корректировку экрана отводится всего 50 секунд, за это время нужно найти проблему, устранить её и перезагрузить ПО спутника. Так что требования очень суровые, поэтому для этой миссии была разработана специальная операционная система реального времени (RTOS).
В наше время для космических полетов используют две ОС реального времени, которые адаптируют под необходимые миссии:
- VxWorks, созданная ещё в 1987 году для работ в космическом пространстве;
- RTEMS.
VxWorks — это ОС с очень малым временем отклика. В ее основе находится микроядро, которое управляет всеми процессами между работающими приложениями и отвечает за планирование задач. Задачи, в свою очередь, имеют четыре состояния — «готово», «заблокировано», «отложено» и «приостановлено». При этом количество задач ограничено лишь только объемом памяти.
RTEMS — система с открытым исходным кодом и изначально она была разработана для военных нужд. Но быстро стало ясно, что масштабы использования этой ОС гораздо шире, чем просто проведение ракетных стрельб, и ей заинтересовались специалисты Европейского Космического Агентства (ЕКА).
Несмотря на то, что VxWorks и RTEMS уже стукнул не один десяток лет, разработчики в NASA и ЕКА не спешат внедрять новые ОС. Этому есть логичное объяснение – программное обеспечение должно пройти длительные испытания, прежде чем сможет быть установлено на космический аппарат. Поэтому гораздо разумнее модернизировать старые ОС, шаг за шагом добавляя в них новые возможности.