Conecta con nosotros

A Fondo

Google Fuchsia OS: todo lo que sabemos hasta la fecha

Publicado el

Fuchsia OS está llamado a ser el próximo gran sistema operativo de Google. Sobre qué es exactamente, si va a sustituir a Android o si realmente va a ser un desarrollo completamente nuevo, son cuestiones de las que se ha venido discutiendo desde que hace tres años, Google anunció oficialmente sus intenciones de desarrollar un nuevo S.O.

Desde entonces, las novedades se han producido con cuentagotas ya que ni siquiera en las últimas Google I/O (la principal conferencia de desarrolladores de Google) se han hecho grandes anuncios. La semana pasada eso sí, Google estrenaba una página web para desarrolladores de Fuchsia OS, en la que ofrece toda la documentación necesaria para instalar la versión del nuevo sistema operativo e instrucciones para el desarrollo de Apps.

Pese a ello, se sigue especulando bastante sobre lo que Fuchsia OS es y lo que no es. Si realmente es lo próximo de Google o si estamos ante un experimento que a medio plazo, acabará siendo abandonado. Esto en cualquier caso es lo que sabemos.

Lo que dice Google

Desde que será el próximo Android, a que será una plataforma que unificará Android con Chrome OS, que será un sistema operativo menor destinado únicamente a dispositivos IoT o incluso, todo lo anterior a la vez. Mucho se ha escrito sobre Fuchsia OS y a la vez, jugando al despiste, Google ha aclarado muy pocas.

La última declaración oficial en este sentido se produce el pasado mes de mayo, cuando Hiroshi Lockheimer, ingeniero de desarrollo de plataformas y sistemas, afirma en una de las sesiones paralelas de Google I/O lo siguiente: «Fuchsia es un proyecto de código abierto de Google. Es una inversión que realizamos para modernizar y probar nuevos conceptos en torno a los sistemas operativos. Mucha gente asume, ‘Es un nuevo sistema operativo de Google, así que debe ser el futuro del sistema operativo de Google’. No es así como lo vemos. No se trata de reemplazar Android o Chrome OS. En el mundo del IoT hay un número cada vez mayor de dispositivos que requieren sistemas operativos y nuevos tiempos de ejecución, así que creo que hay mucho espacio para múltiples sistemas operativos con diferentes puntos fuertes y especialidades. Fuchsia OS es una de esas cosas.»

Por lo tanto, si damos por válidas las declaraciones de Lockheimer, Fuchsia OS estaría principalmente enfocado a la gestión de dispositivos IoT. Fin de la historia. Y sin embargo, como apuntan en The Register y muchos otros medios, basta con observar la documentación que han publicado para ver que hay mucho más que eso.

En primer lugar, comencemos por el propio nombre: Fuchsia OS. La propia Google deja una pista en la página web que acaba de estrenar: «Pink + Purple == Fuchsia (a new Operating System)». Google se refiere únicamente a estos dos colores…¿o hay algo más?

Si hubiese algo más, una posibilidad es que «Pink» haga referencia a «Apple Pink» un sistema operativo orientado a objetos desarrollado por Apple en la década de los 80, que posteriormente se convertiría en Taligent, un proyecto desarollado junto a IBM y que estaba llamado a ser la base de un futuro Mac OS. En cuanto a Purple, podría referirse al nombre clave utilizado por Apple en el proyecto que dio lugar al iPhone.

De hecho, la documentación parece confirmar que Fuchsia OS representa lo nuevo de Android. Un nuevo sistema operativo construido desde cero compatible con todos los dispositivos que hoy en día funcionan bajo Android o Chrome OS y que sería capaz de soportar aplicaciones legacy utilizando técnicas de virtualización. ¿Más pruebas? El código que se ha hecho público puede en estos momentos, ser utilizado en el Google Pixelbook, el Acer Switch Alpha 12 o un Intel NUC… que no son precisamente dispositivos IoT.

Esta es una de las primeras imágenes que muestran el estado de desarrollo del nuevo sistema operativo

Un sistema operativo modular basado en capacidades

En la documentación que publican en la página web del proyecto, Google define a Fuchsia OS como «capability-based o basado en capacidades». En el glosario que en la misma página apunta al término capability, dice la siguiente: «Una capacidad es un valor que combina una referencia de objeto y un conjunto de derechos. Cuando un programa tiene una capacidad, se le confiere el privilegio de realizar ciertas acciones usando esa capacidad».

Al mismo tiempo, se describe la característica «capability routing» que es «una forma para que un componente otorgue capacidades a otra instancia que forme parte del árbol de instancias de los componentes». En este sentido, un «sistema operativo basado en capacidades» podría hacer referencia a un sistema de seguridad en el que cada componente solo tiene acceso a los privilegios mínimos que necesita para funcionar, aislándolo del resto y configurándose como auténticamente modular.

Como también ha trascendido hace tiempo, se sabe que a diferencia de Android, Fuchsia no está basado en Linux. Lo nuevo de Google está construido sobre un micro-kernel que ha recibido el nombre de Zircon. En estos momentos soporta arquitecturas ARM64 e Intel x64 pero no las de AMD, lo cual no quiere decir que no tengan soporte en un futuro.

El gran cambio sin embargo es cómo se relaciona el sistema operativo con los sistemas de archivos, llegando a «coexistir» de forma prácticamente independiente. En Google lo explican de la siguiente forma: «Los sistemas de archivos de Fuchsia OS se encuentran por completo en el espacio del usuario. Ni se enlazan ni se cargan en el kernel: los sistemas de archivos se convierten en procesos dentro del espacio del usuario, que implementan servidores que pueden aparecer como sistemas de archivos. Como consecuencia, los sistemas de archivos de Fuchsia se pueden cambiar fácilmente: las modificaciones no requieren la recompilación del kernel. De hecho, la actualización a un nuevo sistema de archivos Fuchsia se puede hacer sin reiniciar el sistema.»

Una implicación de este enfoque (que podríamos denominar como «sistemas de archivos as a service») es que «cualquier recurso accesible a través del canal apropiado puede mostrarse como un sistema de ficheros mediante la implementación de los protocolos esperados». Entre los sistemas de archivos para los que Fuchsia OS da soporte en estos momentos destacan MemFS, MinFS, Blobfs y ThinFS (que implementa FAT).

Magma y Flutter

En el apartado gráfico, Fuchsia OS incorpora una arquitectura para GPU a la que se ha denominado «Magma«. Como en el caso de los sistemas de archivos, los drivers no se ejecutan dentro del kernel, sino que usan un espacio privilegiado dentro del área de usuario.

Magma está diseñado para Vulkan, la API de aceleración gráfica diseñada por el Khronos Group. No obstante, se espera que a corto plazo tengan soporte para OpenGL. Fuchsia incluye además un sistema de renderizado propio al que denomina Escher, y Scenic, su compositor.

A la hora de diseñar interfaces de usuario en Fuchsia OS, Google confía en la conocida Flutter , un conjunto de librerías multiplataforma desarrollado por Google que se utiliza habitualmente para el desarrollo de Apps tanto en Android como en iOS.

En este sentido,  lo que al principio parecía ser una estrategia para el desarrollo de Apps multiplataforma, parece ahora ir mucho más allá y ya se ha hecho público que todas las aplicaciones que se desarrollen con Flutter estarán optimizadas para su uso en Fuchsia.

Desarrollo de aplicaciones y SDK

Una de las ventajas de Fuchsia OS es que ha sido diseñado para soportar un buen número de lenguajes de programación. En estos momentos tiene soporte para C/C++, Dart, Go, Rust y Python. Además también contará con su propio lenguaje: FIDL (Fuchsia Interface Definition Languaje). Por otro lado, las API para Fuchsia será examinadas por un Consejo especial que será el que determine su legitimidad. Las empresas interesadas ya pueden solicitar su admisión aquí.

Un concepto interesante a la hora de desarrollar Apps para el nuevo sistema operativo es lo que Google denomina «runners». Según la compañía, un «runner» es un «componente que proporciona un entorno de tiempo de ejecución para otros componentes como pueden ser ELF runner, Dart AOT runner o Chromiun Web runner.»

Como se lee más adelante en la documentación, lo anterior implica que además de a sus «propias Apps», Fuchsia OS permitirá la ejecución de aplicaciones Linux, Android y PWAs (Progressive Web Applications).

Una de las primeras aplicaciones desarrolladas por la propia Google para Fuchsia, recibe el nombre de «Story», un «contenedor lógico orientado al usuario que encapsula su actividad a lo largo del día. Cada una de las Storys permite a los usuarios organizar sus actividades de una forma mucho más natural.»

Aunque probablemente aún estemos lejos de lanzamiento de la primera versión definitiva de Fuchsia OS, lo que parece claro es que Google se está tomando este proyecto muy en serio. ¿Es Fuchsia OS el fin de Android y Chrome OS tal y como los conocemos? No parece que esto sea algo que vaya a pasar a medio plazo. Es probable que en sus primeras versiones, Fuchsia OS conviva con otros dos sistemas operativos que no olvidemos, son mucho más maduros…y tal vez sea cierto que en un primer momento se limite al mundo IoT, comenzando por ejemplo, con su gama de equipos Nest.

En un futuro y si Fuchsia recibe el apoyo de desarrolladores y el resto de la industria podríamos estar hablando de algo muy diferente, el primer sistema operativo mainstream en el que Google tiene el control absoluto.

Periodista tecnológico con más de una década de experiencia en el sector. Editor de MuyComputerPro y coordinador de MuySeguridad, la publicación de seguridad informática de referencia.

Lo más leído