Google Fuchsia

Google está inmerso en el desarrollo de un nuevo sistema operativo. Con Fuchsia OS, el grupo tecnológico abandona la arquitectura Linux y, en su lugar, recurre a Zircon, un micronúcleo desarrollado por el propio gigante. Fuchsia no solo podría reemplazar al sistema operativo de escritorio Chrome OS, sino también a Android, pensado para dispositivos móviles. Y todo ello a pesar de que Android ostente a día de hoy una posición casi sin competencia en el mercado.

¿Es, por tanto, Google Fuchsia el sistema operativo del futuro? Para responder a esta pregunta, analizamos a este proyecto hasta el más mínimo detalle.

¿Qué es Google Fuchsia?

Además de ser la grafía inglesa para definir a un tono de magenta, el término Fuchsia designa a un sistema operativo modular de tiempo real basado en derechos que Google lleva desarrollando desde 2016. El sistema está escrito, entre otros, en C, C++, Dart, Go y Rust y debería funcionar con procesadores Intel ARM de 64 bits.

Hecho

Un sistema operativo de tiempo real (RTOS, del inglés real-time operating system) es un sistema operativo capaz de reaccionar a eventos y proporcionar resultados de procesamiento instantáneos o en un período de tiempo predefinido.

Cualquiera puede ver o descargarse el código fuente de Fuchsia OS, disponible bajo licencia de código abierto (incluye licencias BSD, MIT y Apache) en los repositorios GIT públicos de Google. Además, los interesados también disponen de una amplia documentación sobre el proyecto.

De acuerdo con la documentación, el sistema operativo Fuchsia OS puede usarse con distintos dispositivos: smartphones, tabletas, portátiles y ordenadores de sobremesa. En mayo de 2017 se dio a conocer Armadillo, una interfaz gráfica de usuario optimizada para dispositivos táctiles. Con el nombre de Capybara, Google está desarrollando también una IU de escritorio para el nuevo sistema operativo. Desde entonces, circulan rumores de que Google pretende reemplazar a Android por Fuchsia OS, a pesar de su liderazgo en solitario en el mercado.

¿Cómo funciona Google Fuchsia?

Con el desarrollo del sistema operativo Fuchsia, Google está explorando nuevos caminos. Se podría decir que la empresa ha aprendido de los errores del pasado, especialmente en lo que respecta a las limitaciones y problemas con la actualizaciones y modificaciones de Android y Chrome OS. La principal diferencia de Fuchsia OS frente al resto de sistemas operativos de Google es su construcción modular, característica que se refleja no solo en la arquitectura modular del sistema, sino también en un enfoque completamente nuevo del concepto de aplicación.

Diseño modular de la aplicación

Google Fuchsia se basa en un diseño modular que rompe con el concepto de aplicación utilizado hasta ahora. Cada unidad de software recibe el nombre de “package” (paquete) y está compuesta de una selección de archivos como pueden ser metadatos, archivos manifiesto, elementos ejecutables, etc. Estos últimos se denominan en la terminología de Google “components” (componentes).

Los componentes de Google Fuchsia son los elementos que más se acercan a lo que hoy en día se consideran aplicaciones. Cada uno de ellos desempeña una tarea específica y puede combinarse con otros para dar lugar a aplicaciones complejas. Constituidos por un archivo manifiesto y el código asociado a él, los componentes se ejecutan en su propio entorno aislado, acceden a los objetos a través de un espacio de nombres y los publican a través de un directorio de exportación. Fuchsia OS está formado principalmente por dos tipos de componentes: “models” (módulos) y “agents” (agentes).

Los agentes trabajan en un segundo plano y proporcionan servicios para otros componentes. Se puede acceder a un agente bien mediante otro componente, bien a través del sistema, por ejemplo, en respuesta a ciertos triggers, como las notificaciones push u otros procesos que se desarrollen en pantalla.

Los módulos son componentes con interfaz de usuario que se ejecutan en primer plano y son visibles para el usuario. Cada módulo ha sido diseñado para que desempeñe una tarea específica y está marcado para que pueda usarse de forma automática cuando sea necesario. Todo ello es posible mediante la función del módulo, descrita mediante los “verbs” (verbos) y los “nouns” (sustantivos).

Cada módulo incluye una lista de verbos para indicar el trabajo que puede hacer el módulo y una lista de sustantivos para designar a las entidades con las que se está trabajando. Según la terminología de Google, el término entidad hace referencia a cualquier persona, lugar, cosa, evento o concepto identificable de forma única, disponible como un objeto de datos estructurado, al que se puede hacer referencia y se puede recuperar, presentar, manipular o compartir.

En la práctica, este sistema operativo en tiempo real funciona como sigue: tan pronto como un usuario ejecuta una acción, Fuchsia OS determina de forma automática el módulo adecuado para la tarea. Para ello, la acción ejecutada se traduce en una combinación de verbo y sustantivo. El sistema recupera una lista de todos los módulos que contienen el verbo deseado y, en el siguiente paso, filtra el módulo concreto que también funciona con el sustantivo establecido.

Los módulos relacionados se pueden agrupar en las llamadas stories, que combinan diferentes acciones y tareas de acuerdo a los requisitos actuales, permitiendo a los usuarios crear aplicaciones complejas según sus propias ideas y necesidades.

En resumen

Con el concepto modular de la aplicación de Fuchsia, Google cambia el enfoque de las aplicaciones a las acciones y el contenido. En lugar del sistema operativo clásico de las aplicaciones usadas en la actualidad, con Fuchsia OS serán los componentes los que realizarán las tareas en las llamadas stories, que acceden a los recursos que necesitan mediante módulos.

En el siguiente gráfico se ilustra el concepto modular en el que se basa el desarrollo de aplicaciones para el sistema operativo Fuchsia.

Arquitectura modular del sistema

La arquitectura de Fuchsia OS también sigue un enfoque modular. El sistema operativo consta de cuatro capas más o menos independientes, cada una con sus propias tareas: Zircon, Garnet, Peridot y Topaz.

Zircon

Zircon (antes Magenta) es la base del nuevo sistema operativo de Google, si bien no forma parte de Google Fuchsia en sentido estricto y podría utilizarse también con otros sistemas operativos.

Zircon contiene el núcleo de Fuchsia OS, el administrador de dispositivos, la mayoría de los controladores de dispositivos core y first part, así como bibliotecas de sistema bajo nivel como libc y launchpad. Además, Zircon ofrece FIDL (Fuchsia Interface Definition Language), un protocolo para la comunicación entre procesos independientemente del lenguaje de programación, aunque dispone de conexiones con lenguajes populares como C, C++, Dart, Go y Rust.

Como base de Fuchsia OS, Zircon proporciona acceso al hardware para las siguientes capas, crea abstracciones de software sobre recursos de hardware compartidos y sirve como plataforma para el desarrollo de software bajo nivel. Tiene su origen en el Project Little Kernel (LK), que actúa como gestor de arranque para Android.

Garnet

Garnet es la primera capa de sistema específica de Fuchsia OS y se construye sobre Zircon. En dicha capa se ofrecen diversos servicios de sistema a nivel de dispositivo, así como servicios gráficos, de red y de medio, por ejemplo, para la instalación de software, la administración de sistemas y la comunicación con otros sistemas. Garnet cuenta, entre otros, con el procesador gráfico Escher, el sistema de gestión de paquetes y actualizaciones Amber, así como el editor de texto y código Xi.

Peridot

Peridot designa la capa del sistema operativo de Fuchsia en el que se gestionan y compilan las aplicaciones modulares (véase arriba) según los requisitos del usuario en ese momento. Los componentes principales de Peridot son Ledger y Maxwell.

  • Ledger: Ledger denomina a un sistema de almacenamiento en la nube (Distributed Storage System) que proporciona almacenamiento de datos separado a cada componente de Fuchsia (módulo o agente). Esto se sincroniza en diferentes dispositivos, permitiendo al usuario acceder al trabajo que estaba haciendo desde cualquier dispositivo con Fuchsia. Ledger se guarda en la cuenta de Google del usuario.
  • Maxwell: con Maxwell, Google ha integrado en Fuchsia OS un componente que sirve de apoyo a los usuarios como inteligencia artificial (IA). Como es habitual en Fuchsia, Maxwell tiene un diseño modular. El sistema de IA está formado por una serie de agentes que analizan las acciones del usuario y el contenido que utiliza, determinan la información adecuada en segundo plano y envían sugerencias al sistema operativo. Por ejemplo, sugieren qué módulos o stories deben cargarse para adaptarse al comportamiento del usuario en un momento determinado. El asistente de idiomas de Google también forma parte del componente de IA, que se desarrolla en el marco del proyecto Fuchsia con el nombre de Kronk.
Nota

Hasta el momento, Kronk es el único componente del Fuchsia OS que no está siendo desarrollado como un proyecto de código abierto.

Topaz

Topaz representa la capa en la que los usuarios interactúan con el sistema operativo. Aquí se muestran las interfaces de usuario de los componentes definidos en las capas anteriores: tanto la interfaz gráfica de usuario con pantalla de inicio (dependiendo de si se trata de un dispositivo Armadillo o Capybara) como los frontends visuales de los módulos. El marco de aplicaciones móviles de código abierto y multiplataforma de Google Flutter también está integrado en este nivel del sistema. De esto se deduce que en el futuro los usuarios de Fuchsia OS probablemente también podrán ejecutar y utilizar aplicaciones de otros sistemas, como Android o iOS.

Ventajas y desventajas de Fuchsia OS

De acuerdo con el enfoque modular, los desarrolladores de Fuchsia OS han dividido la arquitectura del sistema en áreas individuales con tareas especiales. Esto no solo mejora la legibilidad del código, sino que también aporta beneficios en lo que respecta a la adaptabilidad y actualización del sistema operativo. De este modo, Google consigue resolver, entre otros, el problema de actualización con el que Android ha estado luchando durante mucho tiempo.

Hecho

El ecosistema Android carga con un problema de actualización. Al echar un vistazo a los paneles de control de developer.android.com se puede ver que las nuevas versiones del sistema operativo empiezan a expandirse muy lentamente, problema al que no se enfrenta la competencia. Mientras que el hardware y el software de Apple provienen de la misma casa y pueden implementarse directamente, en el que caso de Android deben ser los fabricantes de hardware los que implementen la actualización.

Además, la arquitectura modular del sistema consigue satisfacer las necesidades de los socios distribuidores de Google que deseen adaptar o ampliar el sistema operativo Fuchsia según sus propios planteamientos.

Los fabricantes de hardware tienen la posibilidad de intercambiar capas individuales del sistema operativo con las de sus propios productos, sin que por ello se vea afectada la funcionalidad a otros niveles. Así, por ejemplo, Samsung podría reemplazar Topaz con una interfaz de usuario que ellos mismos desarrollen en el estilo de TouchWiz. Amazon podría prescindir de Peridot y del asistente lingüístico de Google y, en su lugar, equipar a Fuchsia OS con un módulo de aplicaciones basado en AWS que incluye a Alexa.

En ambos casos, los fabricantes de dispositivos podrían ofrecer versiones individualizadas de Google Fuchsia sin que por ello se viesen afectadas las características de Zircon y Garnet o los ciclos de actualización oficiales para estas capas.

Ventajas Desventajas
La arquitectura modular de Fuchsia SO permite que Google pueda realizar en el futuro actualizaciones de seguridad más rápido de lo que ocurren en Android Google convierte a Ledger en un componente central de Fuchsia SO. Este controla la sincronización de aplicaciones y conecta de forma firme el sistema a la nube
Gracias a la construcción modular, los fabricantes de hardware pueden sustituir niveles individuales de Fuchsia por los suyos propios, sin que por ello se vea afectado el funcionamiento del resto de capas  

Estado de desarrollo

Si bien Fuchsia OS está tomando forma, lo hace muy lentamente, por lo que aún está lejos de estar listo para su lanzamiento al mercado. Es más, Google ni siquiera ha anunciado la fecha oficial de su presentación. Según los informes de los medios de comunicación, ya se han realizado las primeras pruebas de hardware: Huawei ha probado en Honor Play el nuevo sistema operativo, siendo el primer fabricante en hacerlo. El smartphone está equipado con el chip Huawei Kirin-970, que también se utiliza en otros dispositivos del fabricante, como Mate 10, Mate 20 y Mate 20 Pro.

Fuchsia OS demo

Ya en la fase de desarrollo, Fuchsia OS puede compilarse como APK (Android Package) e instalarse en smartphones y tablets Android. El resultado se puede ver en la versión Fuchsia OS Demo del estudiante portugués de informática Manuel Goulão.

Al acceder desde el navegador a Fuchsia OS demo, se abre una página que muestra la pantalla de inicio del sistema operativo con una imagen de fondo y la hora actual. Además, hay tres botones disponibles, uno para abrir la configuración WiFi, otro para usuarios registrados y otro para inicio de sesión para invitados.

Con la demo solo puedes registrarte como invitado.

Los usuarios registrados pueden acceder a la pantalla de inicio de Fuchsia OS, donde se muestra toda la información. El elemento más destacado es la ventana en el centro de la pantalla que contiene la barra de búsqueda de Google, el Asistente de idiomas de Google y las aplicaciones instaladas en el dispositivo.

Si inicias una aplicación (que la demo solo muestra en versión de pruebas), verás que Google ha optado por una interfaz de usuario basada en ventanas.

Al hacer clic en la imagen del usuario en el centro de la pantalla de inicio, se abre un menú con los ajustes que se configuran con mayor frecuencia.

Los editores de Ars Technica también han podido probar Fuchsia OS, que pusieron en marcha una versión de ejecutable en un libro de píxeles. El resultado de la prueba se muestra en el siguiente libro:

¿Le ha resultado útil este artículo?
Page top