A China lançou um satélite que inclui um kernel Linux duplo escrito em Rust

Tian Yi 33

Foto do lançamento do Zhuque-2 no Centro de Lançamento de Satélites de Jiuquan, na China

Recentemente, surgiu a notícia de que A China lançou o satélite Tianyi 33, que executa uma versão customizada do kernel Linux integrada com componentes em tempo real escritos em Rust, usando abstrações e camadas fornecidas por Rust.

Esta liberação foi realizado em conjunto com os satélites Honghu e Honghu-2 no foguete Zhuque-2, marcando o terceiro voo deste foguete de metano com capacidade para transportar 1.500 kg para uma órbita sincronizada com o sol.

Tianyi 33 é um satélite comercial de pesquisa desenvolvido em conjunto pela Spacety Aerospace Co., Changsha Gaoxinqu Tianyi Research Institute em Hunan e Hunan University of Science and Technology.

Em termos de software, o Tianyi 33 apresenta um sistema operacional que inclui um kernel RROS duplo. Esta abordagem combina um kernel Linux usado para resolver tarefas gerais e um kernel RROS escrito em Rust para operações que exigem conformidade estrita em tempo real.

RROS destina-se principalmente a satélites, atendendo à necessidade crescente de executar tarefas tradicionais em tempo real, como comunicação e posicionamento, e funções de uso geral que exigem suporte de software complexo e maduro, como compactação de dados e aprendizado de máquina. A arquitetura dual-core do RROS se destaca, e seu núcleo em tempo real implementado inteiramente em Rust oferece maior segurança e robustez. Além disso, RROS Tem aplicações potenciais em áreas como carros automatizados, IoT e controle industrial.

As As vantagens do RROS são:

  • Tempo real difícil: RROS oferece desempenho superior em tempo real em comparação com RT-Linux. O RROS foi projetado com um agendador de tarefas eficiente que pode responder rapidamente a eventos externos, reduzindo a alternância de tarefas e atrasos no processamento.
  • Compatibilidade- O RROS é compatível com quase todos os programas Linux, permitindo a migração perfeita de aplicativos Linux complexos, como TensorFlow e Kubernetes. Você também pode modificar facilmente seus programas gerais do Linux para torná-los uma contrapartida mais em tempo real.
  • Fácil de usar: O RROS facilita a programação e depuração de programas em tempo real. RROS usa a interface libevl para chamar APIs em tempo real para programas de usuário, permitindo usar ferramentas como gdb, kgdb e QEMU.
  • Robustez: O núcleo de tempo real do RROS é cuidadosamente escrito em Rust, tornando-o mais seguro e robusto, especialmente para problemas de memória e simultaneidade.

O kernel Linux, no Tianyi 33, é baseado no branch 5.13 e aborda tarefas gerais, como compactação de dados e processamento de modelo de aprendizado de máquina. Em contraste, o kernel RTOS é dedicado a funções especializadas, garantindo tempos de resposta confiáveis ​​para atividades críticas, como posicionamento espacial, coleta de dados científicos e comunicações.

Além disso, é mencionado queEsta dualidade garantirá a execução normal das aplicações camada superior e tarefas de pesquisa científica, como medição de atraso de tempo satélite-solo, streaming de vídeo ao vivo, serviços de bate-papo na web a bordo, experimentos pseudo-SSH, etc. Está É o primeiro aplicativo oficial do mundo de um sistema operacional dual-core escrito em Rust em um cenário de satélite.

O kernel suporta a API em tempo real fornecida pela biblioteca libevl e usa a arquitetura de kernel duplo proposta pelo projeto Xenomai/EVL. O kernel RTOS contém um agendador de tarefas separado e mecanismos de sincronização, suas próprias implementações de thread e processo, uma camada de tradução de endereços, um subsistema de alocação de memória, um cache e uma pilha de rede com suporte para o protocolo UDP.

O desenvolvimento durou dois anos e foi realizado por uma equipe de pesquisa da Universidade de Correios e Telecomunicações de Pequim.

Finalmente, deve ser mencionado que Código do kernel usado no Tianyi 33 foi desenvolvido por um grupo de pesquisa da Universidade de Correios e Telecomunicações de Pequim (BUPT) e está disponível ao público em geral como código aberto sob a licença GPLv2. Você pode consultá-lo no link a seguir