1 puntos por GN⁺ 2025-09-14 | 1 comentarios | Compartir por WhatsApp
  • SkiftOS es un sistema operativo de código abierto diseñado y desarrollado desde cero en C/C++
  • Fue creado para ejecutarse en múltiples arquitecturas como ARM, x86 y RISC-V
  • Se caracteriza por buscar la simplicidad y el placer de uso, a diferencia de los sistemas operativos convencionales
  • Es adecuado tanto para principiantes como para desarrolladores para experimentar, aprender, investigar la estructura de los sistemas operativos y uso personal
  • Todo el código fuente puede consultarse en GitHub

Importancia y diferenciadores del proyecto

  • A diferencia de las distribuciones principales, SkiftOS está desarrollado por un equipo pequeño con una perspectiva fresca
  • Su diseño basado en C/C++ es útil para comprender sistemas de bajo nivel y aprender algoritmos
  • Gracias al soporte para diversas plataformas de hardware, ofrece amplias posibilidades de experimentación y expansión
  • Al estar centrado en la comunidad, cualquiera puede contribuir al proyecto o enviar comentarios

1 comentarios

 
GN⁺ 2025-09-14
Comentarios en Hacker News
  • Me impresiona que en 6 años una sola persona haya creado no solo un microkernel muy bien diseñado, sino también el sistema de compilación, un bootloader UEFI, un shell gráfico, un framework de UI y hasta un motor de navegador; me hace sentir que la idea del desarrollador 10x no es una exageración, sino que en realidad se queda corta.
    • A diferencia de proyectos parecidos, esta persona logró todo esto sin una revelación divina, lo que lo hace todavía más impresionante.
    • Recomienda leer el diario de desarrollo de SerenityOS: https://serenityos.org/
    • De verdad parece algo increíble y tremendo.
  • Inesperadamente, mi proyecto llegó hoy a la portada; en este momento el build está roto, así que no se puede probar el OS completo, pero sí se pueden ejecutar apps individuales en Linux o macOS. La forma de usarlas es ./skift.sh run --release <app-name>, y las apps disponibles se pueden ver con el comando ls ./src/apps.
    • El navegador (vaev-browser) requiere un comando aparte (./skift.sh run --release vaev-browser -- <url-or-file>). El stack HTTP es muy mínimo, así que solo soporta http:// y no HTTPS; en mi sitio funciona, pero en otros el resultado puede variar. Hasta ahora la mayor parte del tiempo la he invertido no en networking, sino en el motor de estilos y layout.
    • Mencionaste que "mi microkernel estuvo influenciado por Zircon"; me pregunto si también estudiaste otras arquitecturas como seL4, Minix u openQNX, y qué decisiones de diseño consideraste importantes en el diseño del microkernel. También me interesa saber si hay documentación más detallada sobre eso, si hiciste mediciones de rendimiento como benchmarks y con qué microkernels tendría un desempeño comparable.
    • Me parece impresionante que hayas explorado un enfoque distinto a UNIX.
    • Menciona nombres como Skift, Karm, Hjert y Opstart, y comenta que, como noruego, le da la impresión de que los nombres del sistema vienen del danés o de un estilo danés.
    • Le gustaría escuchar de monax cómo empezó el proyecto; él también está intentando hacer un microkernel para aprender las bases de los OS, pero no sabe por dónde empezar y tiene curiosidad por saber en qué conviene enfocarse en la primera etapa.
  • Elogia que el código está muy bien escrito, es fácil de entender y moderno; pregunta cómo hace para que una app recién compilada funcione en macOS.
    • Explica que el framework tiene una capa de abstracción del OS y que usa SDL para crear ventanas y recibir entrada del usuario.
  • Comenta que con un proyecto así en el currículum, aunque solo tuviera dos líneas (correo y sitio del proyecto), lo contratarían en muchos lugares.
  • Se pregunta cómo se puede construir algo así dentro de limitaciones normales de tiempo; siente que como desarrollador común, trabajando de 9 a 5, es difícil sacar adelante un proyecto de este nivel.
    • La verdad es que no se puede; admite con sinceridad que la mayor parte de ese código la escribió en una etapa de su vida en la que casi no tenía vida social.
    • A mí me da exactamente la misma curiosidad.
  • Le parece realmente increíble que lo haya hecho solo; como desarrollador de C/C++, sabe cómo se hace un OS, pero normalmente solo se le ocurren ideas, y quedarse sin palabras ante que alguien haya escrito por su cuenta un resultado de este nivel.
    • Menciona que sí recibió ayuda con la parte del motor del navegador.
  • Pregunta qué ideas usó en temas de seguridad; quiere saber si las apps tienen acceso total a la memoria o al hardware, si existe un sistema de permisos, y aclara que lo pregunta porque no está familiarizado con los microkernels.
    • Las apps no pueden acceder por completo a la memoria ni al hardware; el kernel solo mapea las partes autorizadas, los drivers corren en espacio de usuario y las apps se comunican con ellos mediante capabilities (handles), por lo que solo pueden acceder si recibieron permiso previamente.
  • Parece impresionante; por curiosidad pregunta cuánto usó IA al escribir el código.
  • El proyecto se ve realmente genial y le asombra que incluso haya escrito su propio motor de navegador; pregunta si hay algún video demo.
    • Estaría buenísimo que hubiera un video demo.
  • Parece que le metieron una enorme cantidad de trabajo, y sorprende que haya hecho un sistema de compilación propio; viendo el estado actual de los build systems de C++, se entiende. También comenta que le intriga por qué los desarrolladores de OS se obsesionan con hacer navegadores, porque pareciera que un navegador no depende tanto del OS, y añade que la UI se ve bonita.
    • Pienso en el navegador simplemente como un runtime de aplicaciones.