MotorOS: um sistema operacional Rust-first para VMs x64
Um novo SO microkernel Rust-first para máquinas virtuais x64, o MotorOS, busca remover a complexidade do Linux em implantações de nuvem e em estilo contêiner, fazendo com que tanto o kernel quanto todos os programas de userspace sejam apenas em Rust. Comentadores contrastam isso com uma longa história de SOs hobby e alternativos que nunca alcançaram adoção ampla, levantando preocupações sobre manutenção de longo prazo, a estabilidade da ABI do Rust e a falta de compatibilidade com Linux/C. O autor do projeto argumenta que o Linux é inadequado para VMs mínimas, apesar de sua dominância, e posiciona o MotorOS como uma plataforma estreitamente focada, de inicialização rápida, que poderia eventualmente evoluir para uma alternativa viável se ganhar uma comunidade.
Design Rust-first e ABI
- Kernel, drivers e userspace são todos em Rust; programas Rust padrão deveriam compilar e executar sem FFI.
- A ABI do userspace é atualmente específica de Rust; em princípio, outras linguagens poderiam alvoá-la por engenharia reversa.
- Alguns se preocupam com a falta de uma ABI Rust estável e fazem comparações com a longa dependência do Haiku do GCC 2.95.
- Outros argumentam que ABIs estáveis no estilo C (
repr(C)), como no Linux, tornam a escolha do compilador menos problemática; o autor do projeto questiona por que a instabilidade do compilador é vista como um problema.
Modelo async e concorrência
- Vários comentaristas esperavam um kernel async-first; eles observam experimentos anteriores com SOs em Rust que mostraram que isso é viável.
- Surgem preocupações de que o Rust async ainda está incompleto (async traits, interfaces de streaming), e que async no nível do kernel adiciona complexidade.
- O autor observa que tentou usar async no kernel, mas achou que o “cruft” necessário era alto demais na época; a rede já é async-first, e a E/S de arquivos pode seguir esse caminho.
Escopo, nicho e comparação com Linux
- Muitos veem isso como um SO hobby interessante, mas duvidam que possa substituir o Linux, especialmente em contextos de nuvem/servidor.
- Um SO apenas para VM e apenas em Rust é visto como potencialmente útil para microsserviços, mas alguns questionam se ele acrescenta muito além de contêineres “FROM scratch”.
- São feitas comparações com Docker, NixOS e “serverless” como respostas à complexidade do Linux; alguns argumentam que essas ferramentas dizem respeito, na verdade, a gerenciamento de pacotes ou modelos de cobrança, e não à complexidade do kernel.
Microkernels, desempenho e tempo de boot
- O design de microkernel é apresentado como uma alternativa mais principiada aos contêineres para fatias granulares de recursos.
- O escalonador é um round-robin SMP simples; políticas mais sofisticadas devem viver no userspace ou em VMs separadas.
- O projeto afirma tempos de boot muito rápidos (~200 ms); outros observam que a inicialização de hardware e a calibração de timers podem dominar o tempo de boot, especialmente em VMs.
- Alguns pedem mais dados de desempenho, mas o README já admite que a rede e a E/S de arquivos são atualmente lentas.
Viabilidade, ecossistema e drivers
- A manutenção de longo prazo é destacada como a parte mais difícil; a maioria desses projetos acaba em um “cemitério”.
- Drivers e suporte a hardware são reconhecidos como uma barreira importante, embora menos em contextos focados em VM.
- Há interesse em integrar um runtime WASM para contornar problemas de ABI e permitir composição mais segura, mas isso é especulativo.