Google está inmerso en el de­sa­rro­llo de un nuevo sistema operativo. Con Fuchsia OS, el grupo te­c­no­ló­gi­co abandona la ar­qui­te­c­tu­ra Linux y, en su lugar, recurre a Zircon, un mi­cro­nú­cleo de­sa­rro­lla­do por el propio gigante. Fuchsia no solo podría re­em­pla­zar al sistema operativo de es­cri­to­rio Chrome OS, sino también a Android, pensado para di­s­po­si­ti­vos móviles. Y todo ello a pesar de que Android ostente a día de hoy una posición casi sin co­m­pe­te­n­cia en el mercado.

¿Es, por tanto, Google Fuchsia el sistema operativo del futuro? Para responder a esta pregunta, ana­li­za­mos 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 de­sa­rro­lla­n­do desde 2016. El sistema está escrito, entre otros, en C, C++, Dart, Go y Rust y debería funcionar con pro­ce­sa­do­res 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 reac­cio­nar a eventos y pro­po­r­cio­nar re­su­l­ta­dos de pro­ce­sa­mie­n­to in­s­ta­n­tá­neos o en un período de tiempo pre­de­fi­ni­do.

Cua­l­quie­ra puede ver o de­s­ca­r­gar­se el código fuente de Fuchsia OS, di­s­po­ni­ble bajo licencia de código abierto (incluye licencias BSD, MIT y Apache) en los re­po­si­to­rios GIT públicos de Google. Además, los in­te­re­sa­dos también disponen de una amplia do­cu­me­n­ta­ción sobre el proyecto.

De acuerdo con la do­cu­me­n­ta­ción, el sistema operativo Fuchsia OS puede usarse con distintos di­s­po­si­ti­vos: sma­r­t­pho­nes, tabletas, po­r­tá­ti­les y or­de­na­do­res de sobremesa. En mayo de 2017 se dio a conocer Armadillo, una interfaz gráfica de usuario op­ti­mi­za­da para di­s­po­si­ti­vos táctiles. Con el nombre de Capybara, Google está de­sa­rro­lla­n­do también una IU de es­cri­to­rio para el nuevo sistema operativo. Desde entonces, circulan rumores de que Google pretende re­em­pla­zar a Android por Fuchsia OS, a pesar de su liderazgo en solitario en el mercado.

¿Cómo funciona Google Fuchsia?

Con el de­sa­rro­llo del sistema operativo Fuchsia, Google está ex­plo­ra­n­do nuevos caminos. Se podría decir que la empresa ha aprendido de los errores del pasado, es­pe­cia­l­me­n­te en lo que respecta a las li­mi­ta­cio­nes y problemas con la ac­tua­li­za­cio­nes y mo­di­fi­ca­cio­nes de Android y Chrome OS. La principal di­fe­re­n­cia de Fuchsia OS frente al resto de sistemas ope­ra­ti­vos de Google es su co­n­s­tru­c­ción modular, ca­ra­c­te­rí­s­ti­ca que se refleja no solo en la ar­qui­te­c­tu­ra modular del sistema, sino también en un enfoque co­m­ple­ta­me­n­te nuevo del concepto de apli­ca­ción.

Diseño modular de la apli­ca­ción

Google Fuchsia se basa en un diseño modular que rompe con el concepto de apli­ca­ció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 ma­ni­fie­s­to, elementos eje­cu­ta­bles, etc. Estos últimos se denominan en la te­r­mi­no­lo­gía de Google “co­m­po­ne­nts” (co­m­po­ne­n­tes).

Los co­m­po­ne­n­tes de Google Fuchsia son los elementos que más se acercan a lo que hoy en día se co­n­si­de­ran apli­ca­cio­nes. Cada uno de ellos desempeña una tarea es­pe­cí­fi­ca y puede co­m­bi­nar­se con otros para dar lugar a apli­ca­cio­nes complejas. Co­n­s­ti­tui­dos por un archivo ma­ni­fie­s­to y el código asociado a él, los co­m­po­ne­n­tes 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 di­re­c­to­rio de ex­po­r­ta­ción. Fuchsia OS está formado pri­n­ci­pa­l­me­n­te por dos tipos de co­m­po­ne­n­tes: “models” (módulos) y “agents” (agentes).

Los agentes trabajan en un segundo plano y pro­po­r­cio­nan servicios para otros co­m­po­ne­n­tes. Se puede acceder a un agente bien mediante otro co­m­po­ne­n­te, bien a través del sistema, por ejemplo, en respuesta a ciertos triggers, como las no­ti­fi­ca­cio­nes push u otros procesos que se de­sa­rro­llen en pantalla.

Los módulos son co­m­po­ne­n­tes 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 es­pe­cí­fi­ca y está marcado para que pueda usarse de forma au­to­má­ti­ca cuando sea necesario. Todo ello es posible mediante la función del módulo, descrita mediante los “verbs” (verbos) y los “nouns” (su­s­ta­n­ti­vos).

Cada módulo incluye una lista de verbos para indicar el trabajo que puede hacer el módulo y una lista de su­s­ta­n­ti­vos para designar a las entidades con las que se está tra­ba­ja­n­do. Según la te­r­mi­no­lo­gía de Google, el término entidad hace re­fe­re­n­cia a cualquier persona, lugar, cosa, evento o concepto ide­n­ti­fi­ca­ble de forma única, di­s­po­ni­ble como un objeto de datos es­tru­c­tu­ra­do, al que se puede hacer re­fe­re­n­cia 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 au­to­má­ti­ca el módulo adecuado para la tarea. Para ello, la acción ejecutada se traduce en una co­m­bi­na­ción de verbo y su­s­ta­n­ti­vo. 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 su­s­ta­n­ti­vo es­ta­ble­ci­do.

Los módulos re­la­cio­na­dos se pueden agrupar en las llamadas stories, que combinan di­fe­re­n­tes acciones y tareas de acuerdo a los re­qui­si­tos actuales, pe­r­mi­tie­n­do a los usuarios crear apli­ca­cio­nes complejas según sus propias ideas y ne­ce­si­da­des.

En resumen

Con el concepto modular de la apli­ca­ción de Fuchsia, Google cambia el enfoque de las apli­ca­cio­nes a las acciones y el contenido. En lugar del sistema operativo clásico de las apli­ca­cio­nes usadas en la ac­tua­li­dad, con Fuchsia OS serán los co­m­po­ne­n­tes los que rea­li­za­rá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 de­sa­rro­llo de apli­ca­cio­nes para el sistema operativo Fuchsia.

Ar­qui­te­c­tu­ra modular del sistema

La ar­qui­te­c­tu­ra de Fuchsia OS también sigue un enfoque modular. El sistema operativo consta de cuatro capas más o menos in­de­pe­n­die­n­tes, 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 uti­li­zar­se también con otros sistemas ope­ra­ti­vos.

Zircon contiene el núcleo de Fuchsia OS, el ad­mi­ni­s­tra­dor de di­s­po­si­ti­vos, la mayoría de los co­n­tro­la­do­res de di­s­po­si­ti­vos core y first part, así como bi­blio­te­cas de sistema bajo nivel como libc y launchpad. Además, Zircon ofrece FIDL (Fuchsia Interface De­fi­ni­tion Language), un protocolo para la co­mu­ni­ca­ción entre procesos in­de­pe­n­die­n­te­me­n­te del lenguaje de pro­gra­ma­ción, aunque dispone de co­ne­xio­nes con lenguajes populares como C, C++, Dart, Go y Rust.

Como base de Fuchsia OS, Zircon pro­po­r­cio­na acceso al hardware para las si­guie­n­tes capas, crea ab­s­tra­c­cio­nes de software sobre recursos de hardware co­m­pa­r­ti­dos y sirve como pla­ta­fo­r­ma para el de­sa­rro­llo 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 es­pe­cí­fi­ca de Fuchsia OS y se construye sobre Zircon. En dicha capa se ofrecen diversos servicios de sistema a nivel de di­s­po­si­ti­vo, así como servicios gráficos, de red y de medio, por ejemplo, para la in­s­ta­la­ción de software, la ad­mi­ni­s­tra­ción de sistemas y la co­mu­ni­ca­ción con otros sistemas. Garnet cuenta, entre otros, con el pro­ce­sa­dor gráfico Escher, el sistema de gestión de paquetes y ac­tua­li­za­cio­nes 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 apli­ca­cio­nes modulares (véase arriba) según los re­qui­si­tos del usuario en ese momento. Los co­m­po­ne­n­tes pri­n­ci­pa­les de Peridot son Ledger y Maxwell.

  • Ledger: Ledger denomina a un sistema de al­ma­ce­na­mie­n­to en la nube (Di­s­tri­bu­ted Storage System) que pro­po­r­cio­na al­ma­ce­na­mie­n­to de datos separado a cada co­m­po­ne­n­te de Fuchsia (módulo o agente). Esto se si­n­cro­ni­za en di­fe­re­n­tes di­s­po­si­ti­vos, pe­r­mi­tie­n­do al usuario acceder al trabajo que estaba haciendo desde cualquier di­s­po­si­ti­vo con Fuchsia. Ledger se guarda en la cuenta de Google del usuario.
  • Maxwell: con Maxwell, Google ha integrado en Fuchsia OS un co­m­po­ne­n­te que sirve de apoyo a los usuarios como in­te­li­ge­n­cia ar­ti­fi­cial (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, de­te­r­mi­nan la in­fo­r­ma­ción adecuada en segundo plano y envían su­ge­re­n­cias al sistema operativo. Por ejemplo, sugieren qué módulos o stories deben cargarse para adaptarse al co­m­po­r­ta­mie­n­to del usuario en un momento de­te­r­mi­na­do. El asistente de idiomas de Google también forma parte del co­m­po­ne­n­te de IA, que se de­sa­rro­lla en el marco del proyecto Fuchsia con el nombre de Kronk.
Nota

Hasta el momento, Kronk es el único co­m­po­ne­n­te del Fuchsia OS que no está siendo de­sa­rro­lla­do como un proyecto de código abierto.

Topaz

Topaz re­pre­se­n­ta la capa en la que los usuarios in­ter­ac­túan con el sistema operativo. Aquí se muestran las in­te­r­fa­ces de usuario de los co­m­po­ne­n­tes definidos en las capas an­te­rio­res: tanto la interfaz gráfica de usuario con pantalla de inicio (de­pe­n­die­n­do de si se trata de un di­s­po­si­ti­vo Armadillo o Capybara) como los frontends visuales de los módulos. El marco de apli­ca­cio­nes móviles de código abierto y mu­l­ti­pla­ta­fo­r­ma 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 pro­ba­ble­me­n­te también podrán ejecutar y utilizar apli­ca­cio­nes de otros sistemas, como Android o iOS.

Ventajas y de­s­ve­n­ta­jas de Fuchsia OS

De acuerdo con el enfoque modular, los de­sa­rro­lla­do­res de Fuchsia OS han dividido la ar­qui­te­c­tu­ra del sistema en áreas in­di­vi­dua­les con tareas es­pe­cia­les. Esto no solo mejora la le­gi­bi­li­dad del código, sino que también aporta be­ne­fi­cios en lo que respecta a la ada­p­ta­bi­li­dad y ac­tua­li­za­ción del sistema operativo. De este modo, Google consigue resolver, entre otros, el problema de ac­tua­li­za­ción con el que Android ha estado luchando durante mucho tiempo.

Hecho

El eco­si­s­te­ma Android carga con un problema de ac­tua­li­za­ció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 ex­pa­n­di­r­se muy le­n­ta­me­n­te, problema al que no se enfrenta la co­m­pe­te­n­cia. Mientras que el hardware y el software de Apple provienen de la misma casa y pueden im­ple­me­n­tar­se di­re­c­ta­me­n­te, en el que caso de Android deben ser los fa­bri­ca­n­tes de hardware los que im­ple­me­n­ten la ac­tua­li­za­ción.

Además, la ar­qui­te­c­tu­ra modular del sistema consigue sa­ti­s­fa­cer las ne­ce­si­da­des de los socios di­s­tri­bui­do­res de Google que deseen adaptar o ampliar el sistema operativo Fuchsia según sus propios pla­n­tea­mie­n­tos.

Los fa­bri­ca­n­tes de hardware tienen la po­si­bi­li­dad de in­te­r­ca­m­biar capas in­di­vi­dua­les del sistema operativo con las de sus propios productos, sin que por ello se vea afectada la fu­n­cio­na­li­dad a otros niveles. Así, por ejemplo, Samsung podría re­em­pla­zar Topaz con una interfaz de usuario que ellos mismos de­sa­rro­llen en el estilo de TouchWiz. Amazon podría pre­s­ci­n­dir de Peridot y del asistente li­n­güí­s­ti­co de Google y, en su lugar, equipar a Fuchsia OS con un módulo de apli­ca­cio­nes basado en AWS que incluye a Alexa.

En ambos casos, los fa­bri­ca­n­tes de di­s­po­si­ti­vos podrían ofrecer versiones in­di­vi­dua­li­za­das de Google Fuchsia sin que por ello se viesen afectadas las ca­ra­c­te­rí­s­ti­cas de Zircon y Garnet o los ciclos de ac­tua­li­za­ción oficiales para estas capas.

Ventajas De­s­ve­n­ta­jas
La ar­qui­te­c­tu­ra modular de Fuchsia SO permite que Google pueda realizar en el futuro ac­tua­li­za­cio­nes de seguridad más rápido de lo que ocurren en Android Google convierte a Ledger en un co­m­po­ne­n­te central de Fuchsia SO. Este controla la si­n­cro­ni­za­ción de apli­ca­cio­nes y conecta de forma firme el sistema a la nube
Gracias a la co­n­s­tru­c­ción modular, los fa­bri­ca­n­tes de hardware pueden sustituir niveles in­di­vi­dua­les de Fuchsia por los suyos propios, sin que por ello se vea afectado el fu­n­cio­na­mie­n­to del resto de capas

Estado de de­sa­rro­llo

Si bien Fuchsia OS está tomando forma, lo hace muy le­n­ta­me­n­te, por lo que aún está lejos de estar listo para su la­n­za­mie­n­to al mercado. Es más, Google ni siquiera ha anunciado la fecha oficial de su pre­se­n­ta­ción. Según los informes de los medios de co­mu­ni­ca­ción, ya se han realizado las primeras pruebas de hardware: Huawei ha probado en Honor Play el nuevo sistema operativo, siendo el primer fa­bri­ca­n­te en hacerlo. El sma­r­t­pho­ne está equipado con el chip Huawei Kirin-970, que también se utiliza en otros di­s­po­si­ti­vos del fa­bri­ca­n­te, como Mate 10, Mate 20 y Mate 20 Pro.

Fuchsia OS demo

Ya en la fase de de­sa­rro­llo, Fuchsia OS puede co­m­pi­lar­se como APK (Android Package) e in­s­ta­lar­se en sma­r­t­pho­nes y tablets Android. El resultado se puede ver en la versión Fuchsia OS Demo del es­tu­dia­n­te portugués de in­fo­r­má­ti­ca 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 di­s­po­ni­bles, uno para abrir la co­n­fi­gu­ra­ción WiFi, otro para usuarios re­gi­s­tra­dos y otro para inicio de sesión para invitados.

Con la demo solo puedes re­gi­s­trar­te como invitado.

Los usuarios re­gi­s­tra­dos pueden acceder a la pantalla de inicio de Fuchsia OS, donde se muestra toda la in­fo­r­ma­ció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 apli­ca­cio­nes in­s­ta­la­das en el di­s­po­si­ti­vo.

Si inicias una apli­ca­ció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 co­n­fi­gu­ran con mayor fre­cue­n­cia.

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

Ir al menú principal