- Maestro es un kernel y sistema operativo similar a Unix escrito desde cero en el lenguaje Rust.
- Al principio fue implementado en C, pero como se volvió difícil mantener limpia la base de código, se migró a Rust.
- Rust permitió reiniciar el proyecto desde cero de una forma más innovadora que escribir en C un kernel similar a Linux, y ayuda a reducir las dificultades de la programación de kernels al aprovechar la seguridad de Rust.
Estado actual del proyecto
- Actualmente, Maestro es un kernel monolítico que solo soporta la arquitectura x86 (32 bits).
- Al momento de escribir esto, se han implementado de forma aproximada 135 llamadas al sistema de Linux, equivalentes a cerca del 31% del total.
- Además del kernel, el SO incluye componentes como el sistema de arranque y administrador de demonios Solfège, las utilidades del sistema
maestro-utils y el gestor de paquetes blimp.
- Se ha probado que software de terceros como musl (biblioteca estándar de C), bash, algunos comandos de GNU coreutils y neofetch (versión parchada) funciona en el SO.
¡Pruébalo tú mismo!
- El SO todavía está en una etapa temprana de desarrollo y es muy inestable, por lo que no se recomienda instalarlo en una máquina con datos importantes.
- Se ha probado principalmente en QEMU, VMWare y VirtualBox.
- Hay dos formas de instalar el SO: descargar un archivo
.iso precompilado o compilar el ISO directamente.
- Los paquetes instalados se almacenan en RAM (
initramsfs) en lugar de en disco, por lo que se necesita suficiente memoria RAM (1 GB o más).
Acerca de este blog
- El propósito de este blog no es escribir un tutorial sobre cómo crear un SO, sino explorar temas más avanzados, compartir cómo resolver problemas y descubrir cómo funcionan las computadoras, los sistemas operativos e internet.
- Se recomiendan especialmente osdev.org y el blog de Philipp Oppermann.
Lo que viene después
- Hace falta ordenar la base de código y optimizar el rendimiento.
- Corregir fugas de memoria y optimizar el rendimiento podrían ser temas para artículos del blog.
- El siguiente objetivo es lograr que el gestor de paquetes funcione completamente en el SO.
- Se necesita soporte de red y soporte para bibliotecas compartidas.
Cómo ayudar
- Puedes mantenerte al tanto dejando una estrella en el repositorio de GitHub, suscribiéndote al boletín, siguiendo el feed RSS y uniéndote a Discord.
Opinión de GN⁺
- El proyecto Maestro es un sistema operativo similar a Unix escrito en Rust, y es importante por su búsqueda de seguridad e innovación en el desarrollo de kernels.
- Este proyecto ofrece una oportunidad interesante para desarrolladores que quieran contribuir a la comunidad de código abierto, y puede ayudar a entender la interacción entre hardware y software reales.
- Puede ser un material de aprendizaje útil para ingenieros de software principiantes que quieran experimentar en la práctica las ventajas y limitaciones de la programación de sistemas con Rust.
1 comentarios
Comentarios en Hacker News
Agradece el apoyo al proyecto
Comentario sobre un gran proyecto pequeño
Comentario sobre seguridad/pruebas de penetración
Mención del proyecto Kerla
Comentario sobre las desventajas de usar C y la dificultad del desarrollo de SO
Mención de la interrupción del proyecto Kerla
Comentario sobre la complejidad de las computadoras
Consejo sobre pagar la deuda técnica
Interés en Gource
Interés en construir un kernel