HarmonyOS ya es oficial. Huawei lo ha presentado en su conferencia para desarrolladores y ha dado algunos de los detalles más importantes de una nueva plataforma que se sitúa como alternativa a Android pero que no está dirigida a móviles, sino a coches, wearables o dispositivos de la Internet de las Cosas, por ejemplo.
Entre las claves de su diseño, en Huawei hablaron de un concepto importante: HarmonyOS está basado en un microkernel que permite que se pueda adaptar "a todos los escenarios". El concepto, por cierto, es el mismo en el que Google está trabajando con Fuchsia. ¿Qué es y por qué es tan importante el microkernel en HarmonyOS?
Del kernel al microkernel
Si hay un pilar indiscutible de cualquier sistema operativo, ese es el núcleo o kernel del sistema. El kernel gestiona la comunicación entre el hardware y el software, permitiendo que el propio sistema operativo y las aplicaciones puedan hacer uso del procesador, memoria, sistema de almacenamiento, gráficos, sonido y demás componentes disponibles en el dispositivo que está gobernado por ese sistema operativo.

No solo eso: el kernel o núcleo del sistema también gestiona eventos críticos como las señales que envían los dispositivos o la imprescindible planificación de procesos que permiten repartir por ejemplo recursos como el procesador.
El núcleo del sistema es uno de los primeros componentes del sistema operativo que se almacenan o cargan en la memoria principal durante el proceso de arranque, y permanece activo hasta que el ordenador deja de estar funcionando. En Linux, por ejemplo, el kernel se puede configurar de forma notable para luego compilarlo y que ese componente se ajuste a las necesidades de cada usuario y dispositivo.
En comparación con el kernel, un microkernel es mucho más compacto, y se centra en ofrecer únicamente las funciones básicas para todo tipo de dispositivos: se olvida un poco de lo específico -y de integrar numerosas opciones que pueden estar en un dispositivo, pero no estar en otros muchos- y se centra en lo general y universal de todos esos dispositivos.
El microkernel es por tanto es la piedra angular de desarrollos mucho más versátiles en cuanto a escenarios de uso: se puede ajustar a todos ellos, pero lo hace gracias a una estructura modular, basada en componentes que se van añadiendo a ese microkernel como pequeñas piezas de un puzzle. Lo hacen para ajustarse de forma óptima a cada dispositiva, pero siempre con el microkernel como componente fundamental.

La ventaja fundamental del microkernel es esa portabilidad y esa capacidad de adaptarse a todo tipo de dispositivos, pero hay una desventaja convencional con este paradigma: el rendimiento puede salir perjudicado.
Uno de los microkernels más famosos es Mach, que es la base de sistemas operativos como Tru64 (el sistema operativo UNIX de HP para plataformas Alpha), GNU Hurd y sobre todo (aunque con matices) los distintos sistemas operativos de Apple (macOS, iOS, iPadOS, tvOS y watchOS) que se basan todos en XNU, un kernel híbrido derivado del microkernel Mach que contiene características tanto de kernels monolíticos (como el de Linux) como de microkernels.
De hecho en Huawei destacaban cómo usar un microkernel hace todo más eficiente: de los 20 millones de líneas de código del kernel de Linux, "solo el 8% es usado frecuentemente en Android". Si no necesitas tanto con frecuencia, ¿para qué utilizar un kernel convencional?
¿Por qué Harmony OS está basado en un microkernel?
La respuesta a esta pregunta es parte de la explicación anterior y es simple: versatilidad. Richard Yu, CEO de Huawei, destacaba en la presentación de este sistema operativo cómo HarmonyOS "es una plataforma distribuida para todo tipo de escenarios".

Así, la idea con HarmonyOS no es la de sustituir (solo) a Android si lo necesitan. Parece que en smartphones la idea es seguir apostando por Android si Google y la guerra comercial entre EE.UU. y China lo permiten, pero aquí Yu era claro y decía que si era necesario, pasar a HarmonyOS en sus smartphones sería rápido y sencillo.
El objetivo, como decimos, es poder aplicar HarmonyOS a todo tipo de dispositivos, y eso incluye a televisores inteligentes -puede que sean los primeros en los que veamos esta plataforma en acción-, altavoces inteligentes, wearables, soluciones de la Internet de las Cosas o coches conectados, entre otros.
La presencia de un microkernel es vital para este objetivo, ya que permite tener un componente base universal (algo así como la masa de las pizzas) y que luego se adapta a cada dispositivo con una serie de módulos opcionales (esos ingredientes que cada uno añade o elige al pedir esa pizza). Con un kernel monolítico tradicional eso sería inviable, ya que hay que adaptar ese kernel a los recursos del dispositivo.
Google ya mencionó en su plataforma análoga, Fuchsia, el microkernel sería Zircon -antes conocido como Magenta-, un componente que además integra algunos servicios del espacio de usuario, controladores y la implementación de las librerías de C (libC) necesarios para el arranque, para comunicarse con el hardware y para cargar procesos en el espacio de usuario y ejecutarlos.
El microkernel en sí proporciona llamadas de sistema para gestionar los procesos, los hilos de ejecución, la memoria virtual, la comunicación entre procesos (IPC), la espera entre cambios de estado de un objeto y los mecanismos de bloqueo (futexes) para la correcta ejecución de los procesos. No hay mucho más, como explican los responsables de Google en el repositorio de Google Git donde el código de Zircon sigue estando disponible.

Aunque no hay demasiados detalles sobre el microkernel de HarmonyOS -de hecho no sabemos su nombre, si es que lo tiene- es muy probable que las analogías sean notables entre uno y otro. Eso sí: en Huawei destacaban cómo han tratado de centrarse en ofrecer un microkernel para un sistema operativo eficiente y muy seguro.
Además hablaron de cómo han trabajado especialmente en su rendimiento, que entre otras cosas mejora según Huawei la comunicación entre procesos de forma notable. El IPC de HarmonyOS era 3 veces el de QNX, un sistema operativo de tiempo real muy conocido en su segmento de mercado, y 5 veces el de Fuchsia, indicaban en una de las diapositivas de la presentación.
Tanto el enfoque como los datos son desde luego prometedores, pero todo ello tendrá que ser confirmado con las pruebas reales cuando tengamos acceso a los primeros dispositivos basados en este sistema operativo. De momento, eso sí, el microkernel es la clave del futuro de los sistemas operativos de Huawei y Google.
Ver 47 comentarios
47 comentarios
Usuario desactivado
Seria de agradecer un mercado de SO menos monopolizado por los yanquis. Estaria bien que la UE se dejara de mierdas e impulsara una iniciativa publica para impulsar un sistema asi para Europa. Un escenario con varios polos es más interesante para el usuario.
Miguel
Sobre el papel, si tuviera whatsapp y un navegador tan potente como Google Maps, firmaría para pasarme a ese OS. 5 veces más eficiente/rápido que Fucshia, demasiado bonito para ser verdad me parece a mi.
redtitle
Tiene tela que se siga debatiendo lo mismo años después.. ¿Aún no queda claro que la clave no es el sistema operativo, si no los servicios?
Tu puedes sacar la mayor filigrana, que si no tienes buenas herramientas para los desarrolladores, tienda de aplicaciones, APIs, servicios sobre los que apoyarte... tu sistema operativo no valdrá nada.
tormescepillin
me parece bien que llegue un nuevo contendiente , el problema que le veo que en occidente no arrasara ya esta el monopolio de ios y android, hasta microsoft que es desarolladora de software puro y duro no le hizo sombra a google con sus politicas de nada de apps de sus servicios , dudo que triunfe fuera de china
Sporty
Es mucho prometer...
amarantei64
¿De donde obtendran los datos para decir que es mas rápido que Fuchsia?
frutosm
Resulta curioso que no comparen el IPC con Linux, seguro que más de uno vería que Linux le pega un repaso de la hostia en IPC y dirían esto mejor lo quitamos de la presentación. Prometen mucho pero al ser microkernel tengo muchas dudas sobre su rendimiento y eso puede repercutir negativamente en la batería. Habrá que ver las reviews en su momento.
Falk
Por mí bien si sacan un SO mejor, pero no sé si los usuarios acabarán adoptándolo, hay muchos SO buenos que se han quedado por el camino.
Ahora que están en auge las aplicaciones híbridas igual deberían currarse algo por ese camino, en su momento me pareció una gran idea en FirefoxOS, acceso por una API del sistema desde un entorno web a funciones como el GPS o la cámara. Algo así como un Apache Cordova nativo.
meKondor
Lo que sí creo es que Huawei hecha mucho humo, y poco fuego.
Quiero ver algo funcionando, quiero ver algo real puesto que a mi me parece que son sólo amenazas "eso de decir que si ellos quieren podrían pasar en dos días a HarmonyOS, por dios!" y utopías.
Quizás soy muy escéptico pero en verdad nunca he visto a Huawei destacar en software, es más, ninguna compañía China ─ si... existe Tencent, WeChat y otro par ─, es como si ellos tienen una visión de hacer las cosas en cuanto a software lo más cargada y/o complicada posible, es lo que pienso.
Por ese tipo de cosas no le creo a Huawei, ojalá y sea verdad, se ve muy bien sobre el papel.
frutosm
Puff qué cantidad de chorradas y de humo hay en el artículo. El Harmony OS ese parece que va a funcionar peor que Android por lo que cuentan pero habrá que verlo cuando salga.
Usuario desactivado
Clarisima la explicacion de biturrizar: son los emprendedores europeos y no la UE quienes deberian impulsar el desarrollo en el sentido que la gente quiere. Para que la UE sigue gastando en megaproyectos que nadie usa, como Galileo y el grafeno, en lugar de crear un ambiente favorable al desarrollo y la innovacion privadas? Los chinos lo tienen claro, si Huawei fracasa no lo hace quemando dinero de sus contribuyentes.
multibytehjgfuf1
Por diseño, monolítico siempre es más rápido, menos caros de abstracción y más capacidad de hacer optimizaciones, aunque más complejo y difícil de mantener. Y lo que venden en justo la velocidad...