Zircon (núcleo)
# Zircon (núcleo)

Zircon (anteriormente Magenta) es el núcleo del sistema operativo Google Fuchsia. Es software libre y de código abierto, publicado bajo la licencia MIT, y ha estado en desarrollo desde 2016.

## Aspectos técnicos

Está escrito en C++ y una pequeña parte en ensamblador, se compone de un micronúcleo así como de un pequeño conjunto de servicios de usuario, controladores y bibliotecas, necesarios para que el sistema arranque, se comunique con el hardware, cargue los procesos de usuario y los ejecute. Presenta características para gestionar hilos, memoria virtual, comunicación entre procesos, espera por cambios de estado de los objetos, entre otros. El código de Zircon está basado en "Little Kernel" (LK) —un núcleo en tiempo real para dispositivos embebidos—, con el objetivo de consumir pocos recursos para ser usado en una amplia variedad de dispositivos, pero las capas superiores son nuevas, así como algunas decisiones de diseño, por ejemplo, a diferencia de Zircon, "Little Kernel" no incorpora el concepto de servicio.

Aunque tiene una fuerte inspiración en núcleos de sistemas Unix, se diferencia en gran medida de estos. Por ejemplo, no tiene soporte para señales tipo Unix, en vez de esto, incorpora programación orientada a eventos, y el patrón de observador. Además, la mayoría de llamadas al sistema no bloquean el hilo principal. Los recursos son representados como objetos y no como archivos, a diferencia de los sistemas Unix tradicionales.

Los controladores son implementados como bibliotecas compartidas en formato binario ELF, que son posteriormente cargadas en memoria por el Device Host (devhost). El Device Manager (devmgr) se hace cargo de los controladores, y de la creación de sus nuevos procesos.

El código fuente de Zircon se encuentra en Google Source y está disponible bajo la licencia de código abierto MIT. Los desarrolladores afirman que, aunque no aceptan características nuevas de la comunidad, están dispuestos a recibir correcciones de errores de la comunidad.

