Фотография запуска Zhuque-2 с китайского космодрома Цзюцюань
Недавно новость сообщила, что Китай запустил спутник «Тяньи-33»., который запускает специальную версию ядра Linux, интегрированную с компонентами реального времени, написанными на Rust, с использованием абстракций и слоев, предоставляемых Rust.
Этот выпуск была проведена совместно со спутниками «Хунху» и «Хунху-2» на ракете «Чжуке-2»., ознаменовавший третий полет метановой ракеты, способной вывести на солнечно-синхронную орбиту 1.500 кг.
Тяньи-33 — коммерческий исследовательский спутник. Совместная разработка Spacety Aerospace Co., Чаншаского научно-исследовательского института Гаосиньцюй Тяньи в провинции Хунань и Хунаньского университета науки и технологий.
С точки зрения программного обеспечения, Tiani 33 оснащен операционной системой с двойным ядром RROS. Этот подход сочетает в себе ядро Linux, используемое для решения общих задач, и ядро RROS, написанное на Rust для операций, требующих строгого соответствия требованиям реального времени.
RROS в основном предназначен для спутников, удовлетворение растущей потребности в выполнении как традиционных задач в реальном времени, таких как связь и позиционирование, так и функций общего назначения, требующих сложной и зрелой программной поддержки, таких как сжатие данных и машинное обучение. Выделяется двухъядерная архитектура RROS. а его ядро реального времени, полностью реализованное на Rust, обеспечивает большую безопасность и надежность. Кроме того, РРОС Он имеет потенциальное применение в таких областях, как автоматизированные автомобили, Интернет вещей и промышленный контроль.
Лас- Преимущества RROS:
- Сложное реальное время: RROS обеспечивает превосходную производительность в реальном времени по сравнению с RT-Linux. RROS оснащен эффективным планировщиком задач, который может быстро реагировать на внешние события, сокращая переключение задач и задержки обработки.
- Совместимость с- RROS поддерживается практически всеми программами Linux, что обеспечивает плавную миграцию сложных приложений Linux, таких как TensorFlow и Kubernetes. Вы также можете легко изменить свои общие программы Linux, чтобы сделать их аналогами, работающими в режиме реального времени.
- Простота в использовании: RROS упрощает программирование и отладку программ в режиме реального времени. RROS использует интерфейс libevl для вызова API-интерфейсов в реальном времени для пользовательских программ, что позволяет использовать такие инструменты, как gdb,kgdb и QEMU.
- выносливость: Ядро реального времени RROS тщательно написано на Rust, что делает его более безопасным и надежным, особенно в отношении проблем с памятью и параллелизмом.
Ядро Linux в Tiani 33 основано на ветке 5.13 и решает общие задачи, такие как сжатие данных и обработка моделей машинного обучения. Ядро ОСРВ, напротив, предназначено для специализированных функций, обеспечивая надежное время отклика для критически важных действий, таких как пространственное позиционирование, сбор научных данных и связь.
Помимо этого упоминается, чтоТакая двойственность будет гарантировать нормальное выполнение приложений. верхний уровень и задачи научных исследований, такие как измерение временной задержки между спутником и землей, потоковое видео в реальном времени, бортовые службы веб-чата, эксперименты псевдо-SSH и т. д. Этот Это первое в мире официальное приложение двухъядерной операционной системы. написан на Rust по спутниковому сценарию.
Ядро поддерживает API реального времени, предоставляемый библиотекой libevl, и использует двухядерную архитектуру, предложенную проектом Xenomai/EVL. Ядро ОСРВ содержит отдельный планировщик задач и механизмы синхронизации, собственные реализации потоков и процессов, уровень трансляции адресов, подсистему выделения памяти, кэш и сетевой стек с поддержкой протокола UDP.
Разработка заняла два года и проводилась исследовательской группой из Пекинского университета почты и телекоммуникаций.
Наконец, следует отметить, что Код ядра используемый в Тяньи 33, был разработан исследовательской группой Пекинского университета почты и телекоммуникаций (BUPT) и доступен широкой публике как с открытым исходным кодом под лицензией GPLv2. Вы можете ознакомиться с ним в по следующей ссылке.