
Harmony, ya es oficial, Huawei lo ha presentado la semana pasada, y se espera que sea una novedad, ya que promete grandes cosas.
Pero que es HarmonyOS, porque tanto remarcar el termino MicroKernel, ¿qué es? y ¿cómo funciona?
HarmonyOS está basado en un microkernel que permite que se pueda adaptar «a todos los escenarios». Es el mismo concepto, que usa Google en su SO Fuchsia.
¿Qué es un microkernel?
Este método estructura el SO al remover todos los componentes no esenciales del kernel e implementarlos como programas a nivel usuario del sistema operativo. El resultado es un kernel más pequeño y compacto. Aquí debió de existir un consenso de acuerdo a que servicios deberían permanecer en el Kernel para hacer más eficiente Harmony y cuáles deberían ser implementados en espacio de usuario. En general, así los microkernels típicamente proveen del mínimo procesamiento, y manejo de memoria, y además la facultad de comunicación.
Del kernel al microkernel

El núcleo es la base de cualquier sistema operativo, también llamado Kernel del sistema. El kernel es el encargado de administrar la comunicación entre el hardware y el software, es decir hace que el sistema operativo y las aplicaciones puedan usar del procesador, memoria, sistema de almacenamiento, gráficos, sonido y demás componentes disponibles en el dispositivo, permitiendo una gestión fluida y sin bloqueos.
Además de gestionar el hardware el kernel del sistema también gestiona los eventos críticos, es decir, todas aquellas señales que envían los dispositivos o la imprescindible planificación de procesos que permiten repartir por ejemplo recursos como el procesador.
Particularidad del microkernel
El microkernel tiene la particularidad de que las funciones centrales son controladas por un núcleo o kernel quien interactúa directamente con el hardware y la interfaz del usuario.
El microkernel implementa servicios átomicos, a los que nos referimos como mecanismos. Estos mecanismos sirven como base fundamental para funcionalidades más complejas, llamadas políticas. La comunicación en el sistema es por medio de mensajes a diferencia del resto de SO que trabajan por medio de llamadas a sistema.
La arquitectura de microkernel es complejo, sofisticado, pero más centrado en su quehacer para el SO, toda acción pasa por el microkernel, lo cual hace a un SO más seguro que un SO con arquitectura kernel monolítico, ya que si el que solicita hacer la acción no posee los permisos necesarios el microkernel no lo deja hacer nada.

Ventajas
- Portabilidad, si se aplica una adecuada implementación.
- Concurrencia y colaboración entre procesos, dada por el diseño.
- Flexibilidad en el patrón de diseño.
- Minimiza lo que contiene el kernel
- Confiabilidad, ya que organiza procesos indiferentes al S.O. como procesos de nivel usuario.
- Seguridad, Aísla los servicios del sistema ante el usuario.
- Extensibilidad: se pueden agregar funciones en modo usuario.
- Reduce la complejidad (Simplicidad) descentralización de los fallos.
Desventajas
- Performance: bajo rendimiento, debido que la comunicación es a través de mensajes que no es eficiente como son las llamadas al sistema.
- Bajo desempeño debido a las llamadas primitivas al sistema
- Complejidad en la sincronización modular.
¿Por qué Harmony OS está basado en un microkernel?
La respuesta a esta pregunta se basa a todo lo explicado anteriormente y resumido a una sola palabra: 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».
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.