Especial Tecnogeek: Los otros sistemas operativos

8

Aunque no lo crean hay vida más allá de Windows, Linux y MacOS, pero mucha vida eh! mucha de ella escondida porque en este mundo lo único que importa es lo “mainstream” pero en esos recovecos de internet que pocos visitan hay especies en peligro de extinción que se las ingenian para sobrevivir.

Aquí les hago un compendio, con detalle de cada uno, de al menos 23 sistemas operativos que pueden descargar y usar (dependiendo hardware y posibilidades, claro) o que se usan en la industria y uno no tiene la más mínima idea de que existen.

Algunos son creados por grandes coporaciones, otros por hobbystas y entusiastas, descubran con nosotros muchos nombres desconocidos…

Vamos por orden alfabético…

AROS Research Operating System

Aros es un sistema operativo para una plataforma muy particular, es el intento de crear un proyecto libre compatible a nivel API con el AmigaOS sin ser ese otro sistema ya que es privativo.

Lo interesante de hacerlo compatible con las API es que pueda portarse a otras arquitecturas y por ende hay hasta hardware que es compatible con esto. Mantiene una lenta actualización así que poco a poco se sigue desarrollando. Tiene ports para X86, PowerPC y hasta fue portado al m68k de la Amiga 1200 y hasta hay port para ARM.

Sitio oficial

Contiki

Contiki no es muy conocido pero es uno de los grandes sistemas operativos alternativos porque está orientado a un uso muy particular: Internet of Things.

Precisa apenas 10Kb de RAM y unos 30Kb en ROM para ofrecer TCP/IP en un dispositivo y si se quiere una interfaz gráfica sólo 30Kb de RAM. Estoy hablando de Kilobytes!!

Esto, en su momento, le abrió la puerta a viejas computadoras de 8 bits otorgando, por ejemplo, interfaz gráfica a la Commodore 64 o la Apple II, delirante pero totalmente posible. Igualmente su foco se alejó completamente de esto y apuntaron a uno más lucrativo y ahí es donde IoT es el gran negocio. Así que es un sistema todavía activo y en uso.

Sitio oficial

Cosmos

He conocido a algunos fans fuertes de .NET pero esto lo lleva a un nivel más allá. Cosmos es un esqueleto de sistema operativo hecho en .NET y C# para que cualquiera pueda armarse su propio OS desde Visual Studio.

Es bastante crudo en lo visual, no es un Windows ni nada parecido, es un sistema completo que uno puede tomar y adaptar a lo que necesite y extenderlo, así como viene no sirve para mucho pero es una interesante curiosidad

Sitio oficial

FreeDOS

Este es bien conocido por muchos, FreeDOS, originalmente PD-DOS o Free-DOS, es un DOS compatible para IBM PC tratando de dar un reemplazo total al MS-DOS con una opción libre y gratuita que no dependa de licencias. Puede bootearse hasta desde un USB (algo que el DOS original no) y permite “revivir” computadoras viejas o software que uno tenía olvidado.

En muchas ocasiones se instalaba esto en PCs sin sistema operativo para que luego uno le instale la versión que quisiera de su piratería preferida, pero claro, nadie lo usaba porque ¿DOS en el siglo XXI?

Sitio oficial

Google Fuchsia

Y un día en Google dijeron ¿Y si nos divorciamos de Linux? Y empezaron a probar de cero cómo hacer su propio sistema operativo y así poder tener control total y violar derechos sin que nadie se entere 😀
Fuchsia es eso, un sistema operativo que no depende de Linux y que está pensado para dispositivos móviles. En teoría es Open Source pero uds. ya saben que con Google todo puede cambiar, al fin y al cabo lo que importa para ellos no es el kernel sino la capa de servicios de ellos mismos.

Así que Fuchsia vendría a ser como un plan B con futuro de convertirse en plan A si rinde mejor, el kernel se llama Zircon y el objetivo es no tener las limitaciones de ser una capa superior a un kernel pensado para otra cosa sino que todo funcione en conjunto. Esto es notable en, por ejemplo, el refresco de pantalla (permite 120Hz de base) y demás detalles que Apple ya había resuelto en iOS.

Posiblemente en unos años sea lo que reemplace a Chorme OS y Android OS ya que está desarrollado para ser compatible con ambos y con las arquitecturas que éstos han utilizado

Sitio oficial

Genode

Y también hay lugar para otros sistemas alternativos libres que no son ni BSD ni Linux, Genode es uno de esos casos que apela a un microkernel y una capa de abstracción para el espacio de usuario. Todo es un pequeño archivo pero no tiene nada que ver con un sistema Unix, en ese sentido es uno de los pocos “distintos” que quedan.

Está más orientado a ser seguro, hasta para ser host de máquinas virtuales y hacer de monitoreo de éstas, con soporte para x86 y ARM. Y sí, sigue en desarrollo activo.

Sitio oficial

GNU Hurd

El infame Hurd, el sistema que nunca llegó, o más bien, que nunca llegó a cumplir con lo que buscaba y prometía.

Pensado como un reemplazo de Unix pero basado en una arquitectura multiserver con microkernel (Mach) y comenzado en 1990, el proyecto se enlenteció notablemente cuando Linux llegó a romperle el esquema con algo que SI funcionaba pero era monolítico.

GNU Hurd siguió su desarrollo y más o menos tuvo momentos de actividad pero usualmente se quedaba a mitad de camino, aun así uno puede descargarse un Debian con Hurd en vez de Linux y tratar de hacerlo funcionar. No todo es culpa de Hurd, la idea era bastante compleja y no necesariamente la solución a los problemas planteados, también el escenario cambió mucho desde su comienzo a la fecha pero no sus objetivos, así que no ha sido un animal especialmente adaptable…

Sitio Oficial

Haiku

Haiku es tal vez uno de a los que más cariño le tengo de esta lista de sistemas operativos alternativos porque es la búsqueda utópica de lograr un sistema similar al legendario BeOS, compatible con éste, pero totalmente libre.

También tuvo sus altibajos porque crear un sistema operativo completo con cada subsistema funcionando y con pocos developers es muy difícil, más cuando ni siquiera busca un mercado. La primera beta logró salir en 2018 luego de haber empezado en 2001!

Desde esa beta salió la segunda en Julio de 2020 porque se activó bastante el desarrollo. Entre sus últimos logros está haber portado LibreOffice, lo que no es poca cosa considerando el tamaño de la suite.

Tal vez su punto más flojo, y que deberían resolver con emulación, es querer seguir siendo compatible con las viejas apps de BeOS y eso los obliga a usar un compliador de 20 años de antigüedad 🤷‍♂️

Sitio Oficial

HelenOS

Otro interesante proyecto de implementación de un microkernel es HelenOS, creado desde cero para evitar arrastrar las dependencias y parches de sistemas compatibles hacia atrás.

Incluye interfaz gráfica, stack de red completo, muchos componentes al detalle y todo esto lo hace bastante flexible. La búsqueda es de ser compatible con C11 y C++14 pero sin clonar nada. Tiene soporte para ARM y x86 y x86-64 además de Itanium y SPARC y es Open Source bajo licencia GPL.

Sitio Oficial

KolibriOS

Kolibri es un fork de MenuetOS (más abajo) programado enteramente en… Assembler! Porque si hay gente aburrida en el mundo éstos son los que tienen la paciencia de programar TODO UN SISTEMA OPERATIVO en Assembler.

Y no, no es una línea de comandos y nada más, es un sistema gráfico y todo, multitarea, con ejecución paralela, bootea en segundos, tiene soporte para NTFS y Ext2/3/4, entra en un diskette de 1.44Mb y necesita apenas 8MB de RAM.

Eso sí, no sirve para nada porque todo lo deberías programar en Assembler (trae editor) o ponerte a crear un compilador para tu lenguaje favorito. Difícilmente encuentren un SO tan rápido como los hechos en Assembler.

Sitio Oficial

MenuetOS

El padre, el original, de los SO en Assembler es MenuetOS, una pequeña bestia que puede bootear en una Pentium MMX de 200Mhz en… 5 segundos! Pienso en qué distinto hubiese sido todo si MenuetOS hubiese existido en los 90s ¿Quién hubiese querido usar otra cosa?

Las últimas versiones mejoraron muchas cosas, soporte para USB, resoluciones de 1920 x 1080, aunque sólo soporta FAT32 para archivos. Se puede usar Quake y Doom también.

Sitio Oficial

MINIX

Minix todavía existe!

El sistema operativo “mini-Unix” que buscaba educar sobre sistemas operativos y creado por Andrew S. Tanenbaum en 1987 sigue existiendo y lanzando versiones, algo que no sabía antes de escribir este artículo.

Nace de la idea de poder llevar un Unix a una computadora personal, algo que en los 80s no era precisamente sencillo, a la larga fue la inspiración de otros sistemas como Linux o BSD. A partir de Minix 3 cambiaron a microkernel y actualmente es código abierto y bajo licencia BSD.

Desde ya que no tiene un uso más allá de aprender.

Sitio Oficial

MorphOS

MorphOS es otro de los SO que quisieron tomar el camino de AmigaOS luego de la desaparición de las Commodore Amiga. No es del todo Open Source, tiene partes de código cerrado. Pero es interesante porque tiene un hardware para el cual fue creado, la Pegasos PowerPC, y hay varios motherboards con los que funciona como Genesi y Efika entre otros.

La versión 2.4 dio soporta para la Mac Mini G4 y luego para las eMac y Power Mac G4 hasta la Power Mac G5. Sí, hay sistema operativo alternativo para esos equipos de museo!

Sitio Oficial

NuttX

En este artículo hay lugar también para los RTOS, los sistemas operativos de tiempo real, hay muchos, no quise incluir a todos claro.

NuttX es uno de estos que busca un tamaño pequeño, es escalable desde los 8 bits hasta los 64 bits, basado en POSIX y ANSI, muy estándar todo porque es la idea.

Empezó como un proyecto libre de un sólo developer (Gregory Nutt) y terminó siendo incubado por la Apache Foundation

Sitio Oficial

Phantom OS

Phantom OS lleva dos años muerto pero qué le vamos a pedir a un “fantasma” 😛 es una cosa hecha por unos devs rusos en el que todo es un objeto en vez de un archivo.

Con memoria virtual persistente y sin basarse en estructuras clásicas de sistemas tipo Unix así que vale la mención por apartarse de lo común. El objetivo es la simplicidad y efectividad.

Sitio Oficial

QNX

QNX era la promesa, el elegido, el desperdiciado. Si no saben a qué me refiero es porque ignoraron la lamentable etapa final de una gran firma: Blackberry. Ellos compraron (RIM, luego BlackBerry) QNX para usarlo de base para su BBOS 10, el sistema que iba a renovar su marca.

Pero QNX sobrevivió al rápido declive porque es un sistema operativo muy fuerte, resistente y resiliente y se usa en automóviles. Al tener muchas características de los RTOS es ideal para el uso en vehículos, funciona y lo hace bien, que BlackBerry no haya tenido idea de cómo integrarlo es otro problema. El código es totalmente propietario/cerrado.

QNX sigue vivo aunque está empezando a perder lugares en autos que utilizan Android Auto, CarPlay, o cualqueira de las interfaces “bonitas”, eso sí, por dentro, la parte que no se ve, muchos siguen utilizando QNX porque no falla.

Sitio Oficial

Redox

Redox me encanta desde la idea: un sistema operativo completo, estilo Unix, desarrollado en Rust!! Si, el lenguaje que muchos quieren aprender hoy en día, aquí tienen un SO completo para empezar a romperse la cabeza.

También basado en microkernel, con una GUI (Orbital), licencia MIT, obviamente Unix, y con los drivers corriendo en el espacio de usuario. Si algo no sucederá en Redox jamás es que un proceso se meta en la memoria de otro, debe ser el sistema con memoria más segura de todos porque de eso se trata Rust entre otras cosas.\

Sitio Oficial

ReactOS

ReactOS es tal vez uno de los más ambiciosos porque pretende se compatible binariamente con… Windows! Al menos Windows Server 2003 y los últimos Windows (supongan un XP, un 7, algún día 10).

Es una tarea titánica porque esto implica que cada aplicación funcione pero he aquí que Windows posee una caterva de hacks particulares que no son precisamente estándares porque trata de ser retrocompatible hasta la estupidez.

Pero hay más problemas, Windows no tiene documentadas muchas de sus APIs por lo que hay que inventar sobre la marcha cuando algo falla y no se sabe por qué.
Obviamente este proyecto está muy relacionado (hasta en código) con Wine, que es un emulador muy usado en Linux, pero es todo un sistema operativo por su cuenta.

No deja de estar en permanente estado desarrollo pero permite ejecutar muchas aplicaciones con cierto grado de compatibilidad y eso ya es mucho.

Sitio Oficial

Symbos

SymbOS es otra maravilla del trabajo delirante e independiente de hobbystas, allá en el tiempo había salido para la Commodore C64 el GEOS que brindaba interfaz gráfica para la clásica C64 de 8 bits, un grupo de usuarios de Amstrad CPC quería tener algo así ¿Cómo lograrlo? De la única forma posible: haciéndolo uno mismo!

Así fue que un dev alemán empezó su proyecto que luego saltó a la MSX, la Amstrad PCW Joyce y la Enterprise 64/128, un sistema operativo multitarea para computadoras de 8 bits, con soporte para mouse, capaz de no sólo hacer varias cosas a la vez sino de ofrecer aplicaciones gráficas, ventanas, y hasta reproducción multimedia (con serias dificultades pero posible!). Para mi es fantástico y son esos proyectos que vale la pena reconocer por esfuerzo, dedicación e inutilidad absoluta.

Sitio Oficial

TempleOS

No creo que exista forma de explicar TempleOS claramente pero lo intentaré: un gran programador, un genio, pero con problemas mentales graves, desarrolla su propio sistema operativo basado en sus delirios místicos y religiosos.

El resultado? Funciona y es totalmente delirante, pero funciona, una interfaz que parece una cruza entre DOS y Turbo C, es el trabajo de la vida de Terry Davis quien falleció hace poco pero que dejó para la posteridad el sistema operativo más incoherente, inconsistente y delirante que sólo su mente pudo producir.

Programado en “HolyC”, una variante de C, 640×480, 16 colores y un canal de sonido, lleno de mensajes divinos e interpretaciones de Davis, en el ambiente tecnológico es un sistema operativo de culto porque, quiérase o no, el tipo pudo crear un sistema que funciona aun a pesar de su enfermedad y aislado de todo y todos.

Sitio Oficial

ThreadX

Otro RTOS? Si, pero no cualquiera porque ThreadX fue comprado por Microsoft hace poco y ahora es Azure RTOS ThreadX, es decir, el sistema operativo para todo lo que esté por detrás de Azure que no sea Linux.

Este sistema operativo tiene soporte para decenas de arquitecturas, más de las que conocía en existencia, todos los sistemas embebidos que te puedas imaginar, es uno de los RTOS más usados en el mundo y no conozco a nadie que jamás me lo haya nombrado. En la actualidad lo usan unos 6.200 millones de dispositivos y no tenía ni idea.

Para darles una idea de todo lo que ignoramos, la mismísima Raspberry Pi utiliza ThreadX dentro del GPU, es un binario, ejecuta, bootea, todo ahí y ni lo sabías (ni podrías sacarlo). Para el resto de aplicaciones Microsoft suele recomendar Azure Sphere que es más moderno y grande, pero si no entra se usa Azure RTOS o, más bien, ThreadX.

Sitio Oficial

Visopsys

Otro poco conocido es Visopsys, Visual Operating System, un SO escrito por un único developer y bajo licencia GPL para arquitecturas de 32 bits.

Tiene kernel multitarea y soporta FAT y procesadores Pentium, bastante simple porque es otro proyecto “a pulmón”, programado en C y Assembler, pero es otro que no se basa en particular en ninguno , no es “una versión de…” sino que es un desarrollo completamente independiente.

Lo que tiene, que me gusta, es que ya desde el vamos empieza todo en modo gráfico (directo desde el kernel) pero todavía le falta mucho desarrollo para ser más “actual” o, por ejemplo, soportar hardware más moderno.

Sitio Oficial

Zephyr

Zephyr es otro RTOS pequeño para sistemas embebidos pero que es interesante porque viene de la mano de la Linux Foundation, así es, otro OS pero, claro, no para lugares donde entraría Linux sino justamente donde no entra.

Tiene los suficientes componentes y librerías como para crear aplicaciones completas en dispositivos IoT de muy bajos recursos y varios grandes apoyaron este proyecto desde sus inicios como Intel, NXP, Texas Instruments y otros.

La lista de dispositivos que utilizan, sin uno saberlo, Zephyr es también enorme.

Sitio Oficial


Además de estos sistemas operativos hay muchos más, por ahí muy repetitivos (el ambiente de RTOS está lleno) o algunos son proyectos medio olvidados o abandonados. Es muy difícil desarrollar un SO desde cero y muchos proyectos de este tipo quedaron en el camino.

¿Conocés alguno que valga la pena y falte aquí?

8 COMENTARIOS

  1. Si mal no recuerdo, Minix ya era microkernel desde el comienzo. Minix 3 lleva las cosas un poco más al extremo poniendo los drivers en espacio de usuario.

    Minix es sujeto de controversias históricas, como el flamewar entre el profesor Tanenbaum y Linus Torvalds a principios de los 90

    Más acá en el tiempo, Ricardo Galli cuando estaba más belicoso en su blog, también hacia criticas hacia los microkernels, o por lo menos a los microkernels que se planteaban en Minix

  2. Conocía algunos pero no sabía que había tantos delirios 😀

    PD: Fijate que en Fuchsia pusiste “¿Y si nos divorciamos de Google?” y es de Linux, supongo.

  3. Hola! Terrible articulo te mandaste!!! Te felicito porque me encanta este tema.

    Solo te quiero hacer una pequeña correccion sobre Haiku: actualmente existen dos versiones: 32 y 64 bit. La que tiene compatibilidad con los binarios de BeOS es solamente la version de 32 bit. Respecto del GCC, la version de 32 bit incluye dos versiones de GCC: la 2, para compatibildad con BeOS, pero tambien la version GCC 8, para las aplicaciones modernas.

    En el caso de la version de 64 bit, esta exclusivamente compilada con GCC 8.

    Saludos!!!

  4. Me hizo acordar a En el principio.. . fue la lÌnea de comandos (Neal Stephenson) cuando describe a BeOS como el batimóvil de los sistemas operativos.
    Tema muy interesante este de los SO

  5. En la parte donde describes ReatOS, dices que WINE es un emulador. Eso no es cierto. Aunque puede reproducir un escritorio de Windows, la verdadera función es trabajar como una capa de compatibilidad que intrerpreta las dll que utiliza windows. El mismo acrónimo recursivo nos lo dice: Wine Is Not a Emulator.

    • bueno, si le seguías la historia era la promesa eterna de un kernel que nunca llegaba, Linux ya tenía diez años en producción cuando Hurd apenas presentó la primera beta relativamente estable, su fama nunca fue la mejor ni la será

Dejá una respuesta