Hay proyectos informáticos que parecen sacados de otra época y que, sin embargo, siguen vivos y coleando. Uno de ellos es Kolibri, un sistema operativo gráfico completo capaz de arrancar desde un disquete de 1,4 MB. Mientras los instaladores de los sistemas operativos comerciales actuales ocupan varios gigabytes, este proyecto de código abierto demuestra que se puede tener un escritorio funcional, con juegos, editores y utilidades, en una fracción del espacio que ocupa una sola fotografía de un móvil moderno. En este artículo repasamos de dónde viene, cómo funciona por dentro, qué se puede hacer con él y por qué sigue despertando la curiosidad de aficionados a la informática retro y de programadores de bajo nivel casi veinte años después de su nacimiento.
Un origen ligado a MenuetOS y al lenguaje ensamblador
Kolibri no nació de la nada. El proyecto es una bifurcación de MenuetOS, otro sistema operativo minimalista escrito íntegramente en ensamblador, y se independizó como desarrollo propio en el año 2004. Desde entonces, un equipo de programadores, con fuerte presencia de la comunidad rusa y de países del entorno postsoviético, ha mantenido vivo el núcleo del sistema, ampliando controladores y aplicaciones sin renunciar a la filosofía original: máximo rendimiento con el mínimo peso posible.
La clave de ese peso está en el lenguaje de programación empleado. Todo el núcleo y buena parte de los controladores están escritos en ensamblador utilizando FASM (Flat Assembler), un lenguaje de muy bajo nivel que obliga al programador a especificar de forma explícita cada instrucción que ejecutará el procesador. Es una forma de programar mucho más costosa y exigente que usar un lenguaje de alto nivel, pero que a cambio ofrece un control absoluto sobre los recursos del equipo y evita las capas de abstracción que suelen inflar el tamaño y ralentizar la ejecución de otros sistemas. El propio sitio del proyecto explica que basta con un procesador i586 y solo 12 MB de RAM para echarlo a andar, unos requisitos que hoy en día resultan prácticamente ridículos.
Cómo se prueba Kolibri sin tener un disquete a mano
La mayoría de los usuarios actuales ya no dispone de una disquetera física, así que la manera más práctica de probarlo es mediante una máquina virtual. Basta con montar la imagen .img descargada del sitio oficial en una disquetera virtual para que el sistema arranque de forma directa, sin necesidad de proceso de instalación alguno. Según las pruebas realizadas por medios especializados, el tiempo transcurrido desde la BIOS hasta tener el escritorio completamente cargado ronda el medio segundo, una cifra que deja en evidencia a cualquier sistema operativo convencional.
Una vez dentro, la interfaz recuerda en cierto modo a las versiones clásicas de Windows: hay un menú de inicio, una barra de tareas llamada Docky y varios iconos distribuidos por el escritorio. El panel de control permite personalizar temas, fondos de pantalla y el aspecto de las ventanas, con una notable variedad de skins disponibles, desde estilos minimalistas hasta ambientaciones inspiradas en videojuegos. Todo el conjunto se percibe extremadamente ágil, sin los pequeños retardos de renderizado a los que estamos acostumbrados en entornos de escritorio más pesados.
El catálogo de aplicaciones sorprende por su variedad
Resulta llamativo comprobar la cantidad de software que los desarrolladores han conseguido encajar en apenas 1,3 MB de imagen. Existe un centro de juegos con más de una treintena de títulos, entre ellos una versión de Doom perfectamente jugable, además de clásicos como el ajedrez, el buscaminas, el Tetris o el FreeCell. También hay un centro de aplicaciones, denominado App+, con un visor de PDF, un editor de iconos, una herramienta de captura de pantalla, un bloc de notas, un simulador del juego de la vida de Conway, un editor de vóxeles e incluso un pequeño piano virtual. No falta un editor gráfico al estilo de Paint, reproductores de audio y vídeo, un editor de código y una utilidad para crear y extraer archivos zip.
Todo este software convive con un sistema de archivos que ofrece soporte completo para FAT12/16/32 y acceso de solo lectura a NTFS, exFAT, ISO9660 y Ext2/3/4, según recoge la documentación oficial del proyecto, disponible en kolibrios.org. Al arrancar desde una imagen de disquete, el sistema no guarda cambios de forma automática entre sesiones; cada reinicio equivale a partir de cero, salvo que el usuario utilice la función «Save Ramdisk» para generar una nueva imagen persistente con los cambios realizados.
Navegar por internet, con matices importantes
Aquí es donde Kolibri muestra sus limitaciones más evidentes para el uso cotidiano. El sistema se conecta a redes mediante Ethernet, sin soporte para Wi-Fi, y lo hace sin apenas configuración previa gracias a su pila TCP/IP integrada. Incluye herramientas para descargar archivos por HTTP y para conectarse a servidores FTP, funciones que en su día fueron el pan de cada día de cualquier usuario de internet.
El problema aparece con los navegadores. El sistema incorpora dos, NetSurf y WebView, pero ninguno de los dos es capaz de abrir enlaces HTTPS, el protocolo cifrado que hoy utiliza prácticamente la totalidad de la web. En la práctica, esto significa que se puede decir que Kolibri «se conecta» a internet, pero no que se pueda «navegar» por ella en el sentido moderno del término, salvo que se trate de páginas antiguas que todavía sirvan contenido sin cifrar. Se trata de una limitación técnica derivada precisamente de la filosofía minimalista del proyecto: implementar TLS de forma completa exigiría muchísimo más código del que sus desarrolladores están dispuestos a añadir.
El producto en el que se centra todo: la propia imagen de arranque
Si hay un elemento que resume el proyecto es la imagen de disco de 1,4 MB que constituye el producto principal de Kolibri. No se trata de una distribución basada en un núcleo Linux recortado ni de una versión reducida de otro sistema existente, sino de un sistema operativo escrito desde los cimientos en ensamblador, con su propio núcleo monolítico de tiempo real y planificación expropiativa (preemptive). Esa imagen incluye simultáneamente el núcleo, los controladores esenciales, el entorno gráfico y decenas de aplicaciones, todo comprimido en un espacio equivalente a menos de media canción en formato MP3.
Existen además versiones algo más completas en formato de CD o memoria USB, con más controladores y aplicaciones incluidas, pensadas para quienes quieran exprimir el sistema en hardware real más moderno. Aun así, la variante de disquete sigue siendo la carta de presentación del proyecto: una declaración de principios sobre lo que es posible lograr cuando se prioriza la eficiencia del código por encima de cualquier otra consideración. El repositorio oficial, distribuido bajo licencia GPLv2 y accesible públicamente en GitHub, permite a cualquier programador con conocimientos de ensamblador compilar su propia versión o contribuir con mejoras, tal y como detalla la página de descargas del proyecto.
Reflexiones finales
Kolibri no pretende sustituir a Windows, macOS o a las grandes distribuciones Linux en el día a día de un usuario corriente, y sus propios desarrolladores son los primeros en reconocer sus limitaciones, especialmente en materia de navegación web segura. Pero como ejercicio de ingeniería y como recordatorio de hasta qué punto se ha disparado el tamaño del software moderno, resulta un caso de estudio fascinante. Con un instalador de más de 8 GB en algunos sistemas operativos actuales frente a la imagen de 1,3 MB de este proyecto, la comparación invita a pensar cuánto del peso del software contemporáneo corresponde realmente a funcionalidad y cuánto a capas de abstracción, telemetría y elementos decorativos acumulados con los años.
Para quien disfrute trasteando con máquinas virtuales, con hardware antiguo destinado al desguace o simplemente sienta curiosidad por la programación de bajo nivel, Kolibri ofrece una experiencia distinta: la de un sistema que responde de forma instantánea a cada clic, sin los tiempos de espera a los que la informática actual nos ha malacostumbrado. Algunos usuarios de la comunidad ya han señalado su potencial para dar una segunda vida a equipos obsoletos que de otro modo acabarían en la chatarra, una idea que conecta con el creciente interés por alargar el ciclo de vida del hardware.
6
