MotorOS: un sistema operativo Rust-first para VM x64
Un nuevo sistema operativo microkernel Rust-first para VM x64, MotorOS, busca eliminar la complejidad de Linux en despliegues de nube y estilo contenedor haciendo que tanto el kernel como todos los programas del espacio de usuario sean solo Rust. Los comentaristas contrastan esto con una larga historia de sistemas operativos hobby y alternativos que nunca lograron una adopción amplia, planteando preocupaciones sobre el mantenimiento a largo plazo, la estabilidad de la ABI de Rust y la falta de compatibilidad con Linux/C. El autor del proyecto sostiene que Linux no es adecuado para VMs mínimas pese a su dominio, y presenta MotorOS como una plataforma de alcance limitado y arranque rápido que podría evolucionar hacia una alternativa viable si consigue una comunidad.
Diseño y ABI Rust-first
- El kernel, los controladores y el espacio de usuario están todos en Rust; los programas estándar de Rust deberían compilar y ejecutarse sin FFI.
- La ABI del espacio de usuario es actualmente específica de Rust; en principio, otros lenguajes podrían apuntarla mediante ingeniería inversa.
- Algunos se preocupan por la falta de una ABI estable de Rust y hacen comparaciones con la larga dependencia de Haiku de GCC 2.95.
- Otros argumentan que las ABI estables de estilo C (
repr(C)), como en Linux, hacen que la elección del compilador sea menos problemática; el autor del proyecto cuestiona por qué la inestabilidad del compilador se ve como un problema.
Modelo asíncrono y concurrencia
- Varios comentaristas esperaban un kernel orientado primero a async; señalan experimentos previos de sistemas operativos en Rust que mostraban que era viable.
- Se plantean preocupaciones de que Rust async sigue incompleto (traits async, interfaces de streaming), y que el async a nivel de kernel añade complejidad.
- El autor señala que probaron async en el kernel pero encontraron que el “cruft” necesario era demasiado alto en ese momento; la red ya es async-first, y la E/S de archivos podría seguirle.
Alcance, nicho y comparación con Linux
- Muchos lo ven como un sistema operativo hobby interesante, pero dudan de que pueda desplazar a Linux, especialmente en contextos de nube/servidor.
- Un sistema operativo solo para VM y solo para Rust se considera potencialmente útil para microservicios, pero algunos cuestionan si añade mucho frente a contenedores “FROM scratch”.
- Se hacen comparaciones con Docker, NixOS y “serverless” como respuestas a la complejidad de Linux; algunos sostienen que esas herramientas en realidad tratan sobre gestión de paquetes o modelos de facturación, no sobre la complejidad del kernel.
Microkernels, rendimiento y tiempo de arranque
- El diseño de microkernel se presenta como una alternativa más principista a los contenedores para el recorte granular de recursos.
- El planificador es un simple round-robin SMP; se espera que políticas más sofisticadas vivan en el espacio de usuario o en VMs separadas.
- El proyecto afirma tiempos de arranque muy rápidos (~200 ms); otros señalan que la inicialización del hardware y la calibración del temporizador pueden dominar el tiempo de arranque, especialmente en VMs.
- Algunos piden más datos de rendimiento, pero el README ya admite que la red y la E/S de archivos actualmente son lentas.
Viabilidad, ecosistema y controladores
- El mantenimiento a largo plazo se destaca como la parte más difícil; la mayoría de estos proyectos terminan en un “cementerio”.
- Se reconoce que los controladores y el soporte de hardware son una barrera clave, aunque menos en contextos centrados en VM.
- Hay interés en integrar un runtime de WASM para evitar problemas de ABI y habilitar una composición más segura, pero esto es especulativo.