>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
C

Cómo escribir un sistema operativo en 64 sesiones usando una red neuronal

Hace poco me topé con el proyecto VibeOS, y despertó una mezcla interesante de emoción y cierta envidia. El autor decidió escribir un sistema operativo completo para ARM64 desde cero. Pero lo más interesante ni siquiera es eso. Lo hizo en colaboración con Claude Code, documentando todo el proceso — desde la primera línea de código hasta ejecutar DOOM.

No es solo un sistema de juguete tipo "Hola Mundo". Estamos hablando de un proyecto con GUI estilo macOS, un stack de red personalizado, soporte HTTPS e incluso un intérprete de Python integrado.

¿Qué es esto exactamente?

VibeOS es un SO de hobby escrito en C para la arquitectura aarch64. Se ejecuta en el emulador QEMU y en hardware real, específicamente la Raspberry Pi Zero 2W. El desarrollo tomó 64 sesiones de interacción con IA. Si miras los registros de sesiones en el repositorio, puedes rastrear cómo el proyecto fue ganando sustancia: desde el bootloader y el manejo de interrupciones hasta la implementación del gestor de ventanas.

VibeOS Desktop

El autor admite honestamente: no todo funciona, algunas partes del código ni siquiera han sido probadas. Pero lo que está funcionando es impresionante. Es un gran ejemplo de cómo los LLMs modernos ayudan a reducir la barrera de entrada en campos tan complejos como la programación de sistemas y el desarrollo de kernels.

Qué hay por dentro: Kernel e Interfaz

En su núcleo hay un kernel personalizado con multitarea cooperativa. Hay soporte para sistema de archivos FAT32 con nombres de archivo largos, lo cual frecuentemente se convierte en un tropiezo para los sistemas caseros.

La GUI se ve sorprendentemente moderna. Esto es lo que incluye:

  • Escritorio con ventanas arrastrables.
  • Panel Dock y menú.
  • Soporte completo de mouse y teclado.
  • Animaciones de minimizar y cerrar ventanas.

Terminal

Visualmente, se parece a una versión simplificada de macOS, y para un sistema escrito "por diversión", se ve muy pulido.

Red y Desarrollo Dentro del Sistema

Normalmente, los SO caseros se limitan a la salida de texto en la consola. VibeOS fue más allá. El sistema tiene un stack TCP/IP integrado, un resolvedor DNS e incluso un cliente HTTP con soporte para TLS 1.2. Esto permite que el navegador integrado (sí, existe) renderice HTML y CSS simple.

Pero lo que más me llamó la atención son las herramientas de desarrollo dentro de VibeOS:

  1. Tiny C Compiler (TCC). Puedes escribir código C directamente en el sistema y compilarlo al instante.
  2. MicroPython. Hay bindings a la API del kernel, así que puedes automatizar tareas en Python.
  3. VibeCode IDE. Una alternativa estilo VS Code para este sistema.

VibeCode

Y por supuesto, el clásico: DOOM ha sido portado a VibeOS. Para ejecutarlo, necesitarás encontrar el archivo doom1.wad por tu cuenta y colocarlo en la carpeta de juegos, pero el hecho de que el port exista habla de la viabilidad de las llamadas al sistema.

Hardware y Matices Operativos

Si decides ejecutar esto en una Raspberry Pi Zero 2W, prepárate para aventuras. El autor advierte que el driver USB es temperamental. Por ejemplo, necesitas conectar el teclado al hub estrictamente antes que el mouse, de lo contrario el sistema puede no reconocerlos. Hotplug no está soportado: si desconectas algo, tendrás que reiniciar.

En la "Pi" real no hay sonido ni red todavía (sin drivers Wi-Fi), pero la GUI en Full HD (1920x1080) funciona de manera estable.

Cómo Probarlo Tú Mismo

La forma más fácil es ejecutar el proyecto en QEMU. Necesitarás un compilador cruzado aarch64-elf-gcc. En macOS, la instalación se ve simple:

brew install aarch64-elf-gcc qemu
make disk
make run

El comando make disk creará una imagen de disco, y make run compilará el kernel, todos los programas de usuario y lanzarán el emulador.

A Quién Le Será Útil

VibeOS no es un reemplazo de Linux ni un candidato a "asesino de Windows". Es principalmente un libro de texto. Si siempre quisiste entender cómo funcionan las interrupciones, cómo escribir tu propio asignador de memoria, o cómo implementar el arrastre de ventanas a nivel de framebuffer, este repositorio es una mina de oro.

Es especialmente interesante estudiar los registros de sesiones de Claude. Es una guía práctica de "ingeniería de prompts" en el contexto del código de bajo nivel. Puedes ver dónde la red neuronal cometió errores y cómo el autor la guió para corregir bugs en drivers o en el sistema de archivos.

El proyecto vale la pena explorarlo al menos para ver: crear tu propio SO hoy no es una década de aislamiento, sino un proyecto de pocos meses perfectamente factible si tienes las herramientas adecuadas a mano.

Proyectos relacionados