Hace poco les enseñamos a MenuetOS, un sistema operativo completamente escrito en lenguaje ensamblador, tan pequeño que puede ser utilizado desde un disquete en caso de ser necesario. Ahora, si bien el concepto de un sistema operativo cien por ciento ensamblador es muy interesante, lo cierto es que no es el único que hay allí afuera. Otro sistema que nació a partir de MenuetOS para encontrar su propio camino es KolibriOS, tan liviano y eficiente como su primo cercano, pero con algunas diferencias en su aspecto.
Algunos de ustedes pueden preguntarse qué tan práctico es utilizar a un sistema operativo desde un disquete, ya que están casi extintos. En realidad, ese mismo pensamiento podría ser aplicada a los Live CD o a los Live USB que hay allí afuera, pero se caería en un error muy grande. Lo práctico de un sistema operativo que es distribuido en imágenes de disquete o CD está en que es muy fácil ejecutarlo y probarlo, para conocer y comprender el trabajo y el tiempo que sus desarrolladores le han dedicado. El caso de KolibriOS es como el de tantos otros sistemas operativos. Está en desarrollo y todavía no está listo para ser usado de forma masiva. Esto hace que cambie considerablemente, a medida que la gente y sus desarrolladores van descubriendo problemas o implementando nuevas funciones. Y preferimos cien veces las imágenes de disquete, que tener que borrar un disco duro para instalar cada nueva versión del sistema operativo.
Tanto KolibriOS como MenuetOS pueden ser considerados como "plataformas de aprendizaje". Si has decidido o necesitas aprender lenguaje ensamblador, ambos son dos ejemplos extraordinarios de lo que ese lenguaje puede lograr. Incluso Kolibri cuenta con herramientas para compilar y depurar (FASM está ahí), en caso de que ya te encuentres en una etapa avanzada de programación. Probablemente lo que más sorprenda de KolibriOS es la cantidad de cosas que trae, sabiendo que ocupa solamente un disquete. Primero, una gran cantidad de juegos. Desde clones del buscaminas y el Tetris hasta Damas, un clon del Lode Runner y ese condenado C4 en el que el CPU barrió el piso con nosotros (bah, conmigo). Y ocupan unos pocos bytes cada uno.
En lo que se refiere a aplicaciones, su contenido es mucho más básico. TinyPad cumple el rol de equivalente al Bloc de Notas, mientras que un clon del viejo y querido Norton Commander llamado Kolibri FAR hace las veces de administrador de archivos. También está Ghost Monitor, un programa que se ejecuta al inicio de Kolibri y que reporta diferentes aspectos del hardware detectado, como la velocidad del procesador, la memoria instalada y las mediciones de voltaje de la tarjeta madre, en caso de ser detectadas, claro. Probablemente la cantidad de aplicaciones esté limitada al tamaño de la distribución del sistema operativo. Los programas hechos en lenguaje ensamblador pueden ser muy pequeños en comparación con sus equivalentes de bibliotecas y ejecutables creados por lenguajes de un nivel más alto (no hablamos de "nivel" en cuanto a "calidad", sino a "cercanía" a un lenguaje humano), pero todo tiene un límite. Sería interesante ver cuánto ocuparía, por ejemplo, una versión cien por ciento assembler de un procesador de texto como AbiWord (el archivo "tar" del código fuente para la versión 2.6.8 de AbiWord ocupa más de 9 MB).
A la hora de alterar un poco su configuración, los problemas más serios los tuvimos al tratar de convencer a KolibriOS de navegar en Internet. La existencia de controladores de hardware compatibles es algo que deben sufrir todos los desarrolladores de sistemas operativos. El caso de Linux es uno de los más reconocidos. Aquellos que no conocen los detalles piensan que las distros de Linux están incompletas porque no soportan determinada pieza de hardware, cuando en realidad es el creador del hardware quien pone la mayor cantidad de piedras en el camino. Muchos tardan un tiempo demencial en abrir el código de sus controladores o en publicar directamente una versión compatible con Linux. Y, lo que es peor, algunos se rehusan completamente a hacer esto, lo cual ha dejado a excelentes dispositivos fuera del mundo Linux por una decisión arbitraria de su fabricante.
El caso de Kolibri no es tan diferente. El hardware soportado a nivel de tarjetas de red es limitado, y si posees un modelo nuevo de chip Ethernet, es casi seguro que no funcionará. Y ni hablemos de conexiones wireless. Para el vídeo, Kolibri utiliza el controlador VESA. No es lo ideal, pero garantiza un escritorio funcional. Sin embargo, no todas son malas noticias. Tiene soporte USB, y puede leer CD’s, DVDs, particiones FAT, FAT32 y NTFS. Aún no puede escribir en particiones NTFS, pero como todo lo demás, es cuestión de tiempo.
En líneas generales, KolibriOS sorprende por su tamaño y su velocidad. El que hayan metido todo eso dentro de un disquete es encomiable, y si tardó dos segundos en iniciarse estaríamos exagerando. Aún con sus complejidades y su cuota de inmadurez, Kolibri puede enseñarle una cosa o dos a los sistemas operativos de hoy en día, y es que con un código minimalista y bien optimizado se puede alcanzar un rendimiento fuera de serie. El mayor enfoque de KolibriOS tal vez debería estar en expandir su soporte de hardware y sus métodos de configuración dentro del sistema mismo. Claro que, esto es más fácil decirlo que hacerlo, pero existen estándares abiertos como OHCI para dispositivos USB que pueden ser aplicados. Una vez que su conectividad haya mejorado, la implementación de aplicaciones puede manejarse de otra forma. ¿Cómo? Con la computación en nube, por supuesto. ¿Para qué instalar un editor de texto por defecto, cuando lo único que se necesita para acceder a Google Docs es una conexión a Internet y un navegador compatible? Si Kolibri lograra aprovechar esto, se convertiría en algo aún más interesante todavía, y podría abrir todo un nuevo abanico de posibilidades para otros sistemas operativos. Esperamos que así sea.