Fuchsia es un sistema operativo de código abierto basado en capacidades desarrollado por Google . A diferencia de los sistemas operativos basados en Linux de Google, como ChromeOS y Android , Fuchsia se basa en un kernel personalizado llamado Zircon. Debutó públicamente como un repositorio Git autohospedado en agosto de 2016 sin ningún anuncio corporativo oficial. Después de años de desarrollo, el lanzamiento oficial de su producto fue en 2021 en el Google Nest Hub de primera generación , reemplazando su sistema operativo Cast original basado en Linux .
Fucsia lleva el nombre del color fucsia , que es una combinación de rosa y morado. [4] [5] El nombre es una referencia a dos proyectos de sistemas operativos dentro de Apple que influyeron en los miembros del equipo del proyecto Fuchsia: Taligent ( con nombre en código "Pink") e iOS (con nombre en código "Purple"). [6] El esquema de nomenclatura basado en colores deriva de los colores de las fichas que los empleados de Apple usaban para organizar sus ideas. [7]
El nombre del color fucsia se deriva del género de plantas Fuchsia, que deriva del nombre del botánico Leonhart Fuchs .
En agosto de 2016, los medios de comunicación informaron sobre un misterioso repositorio de código fuente publicado en GitHub , que revelaba que Google estaba desarrollando un nuevo sistema operativo llamado Fuchsia. No se hizo ningún anuncio oficial, pero la inspección del código sugirió su capacidad para ejecutarse en varios dispositivos, incluidos sistemas de "infoentretenimiento de tablero" para automóviles, dispositivos integrados como semáforos , relojes digitales , teléfonos inteligentes , tabletas y PC . Su arquitectura difiere completamente de Android y ChromeOS basados en Linux debido en parte a su exclusivo kernel Zircon, anteriormente llamado Magenta. [8] [9] [10] [11] [12] [13]
En mayo de 2017, Ars Technica escribió sobre la nueva interfaz de usuario de Fuchsia , una actualización de su interfaz de línea de comandos en su primera revelación en agosto. Un desarrollador escribió que Fuchsia "no es un juguete, no es un proyecto del 20% , no es un vertedero de algo muerto que ya no nos importa". Aunque los usuarios pueden probar Fuchsia, nada "funciona", porque "son todo un montón de interfaces de marcador de posición que no hacen nada". Encontraron múltiples similitudes entre la interfaz de Fuchsia y Android, incluida una pantalla de Aplicaciones recientes, un menú de Configuración y una vista de pantalla dividida para ver varias aplicaciones a la vez. [14] [15] Varios medios de comunicación escribieron sobre los vínculos aparentemente estrechos del proyecto con Android, y algunos especularon que Fuchsia podría ser un esfuerzo para "rehacer" [16] o reemplazar Android [17] [18] [19] en una manera de solucionar sus problemas. [14]
En enero de 2018, Google publicó una guía sobre cómo ejecutar Fuchsia en Pixelbooks . [20] [21] Esto fue implementado con éxito por Ars Technica , donde los expertos quedaron impresionados con el progreso, notaron que las cosas estaban funcionando y quedaron especialmente satisfechos con el soporte de hardware y los múltiples punteros del mouse. [22]
En enero de 2019 se agregó un dispositivo Fuchsia al ecosistema de Android a través del Proyecto de código abierto de Android (AOSP). [23] [24] Google habló sobre Fuchsia en Google I/O 2019. [25] Hiroshi Lockheimer , vicepresidente senior de Chrome y Android, lo describió como uno de los experimentos de Google en torno a nuevos conceptos de sistemas operativos. [26]
El 1 de julio de 2019, Google anunció el sitio web oficial del proyecto de desarrollo con el código fuente y la documentación. [15] Aproximadamente un año y medio después, el 8 de diciembre de 2020, Google anunció que estaba "expandiendo el modelo de código abierto de Fuchsia" [27], lo que incluía hacer públicas las listas de correo , introducir un modelo de gobernanza, publicar una hoja de ruta y utilizar un rastreador de problemas públicos .
En mayo de 2021, los empleados de Google confirmaron que Fuchsia se había implementado en el mercado de consumo por primera vez, dentro de una actualización de software del Google Nest Hub de primera generación que reemplaza su software existente basado en Chromecast . La actualización no contiene cambios para el usuario en el software o la interfaz de usuario del dispositivo. [28] [29] Después de la ola inicial de actualizaciones para los dispositivos de vista previa, la actualización se implementó en todos los dispositivos Nest Hub en agosto de 2021. [30] Alrededor del 21 de febrero de 2022, el navegador Chrome estaba funcionando completamente en Fuchsia. [31]
En enero de 2023, Google anunció despidos en toda la empresa, lo que afectó al 16% de los empleados de Fuchsia. [32] En mayo de 2023, Google comenzó a implementar una actualización basada en Fuchsia para el Google Nest Hub de segunda generación . [33]
La mayor parte de Fuchsia está escrita en Rust . [34]
La interfaz de usuario y las aplicaciones de Fuchsia están escritas en Flutter , un kit de desarrollo de software que permite capacidades de desarrollo multiplataforma para Fuchsia, Android e iOS . Flutter produce aplicaciones de Dart . Escher es el motor de renderizado de gráficos basado en Vulkan , con soporte específico para "sombras suaves volumétricas", un elemento que Ars Technica escribió, "parece hecho a medida para ejecutar las pautas de interfaz de ' Material Design ' de Google con muchas sombras ". [35] El kit de desarrollo de software multiplataforma Flutter permite a los usuarios instalar partes de Fuchsia en dispositivos Android.
Está previsto que se ejecute una versión especial de Android Runtime para Fuchsia desde un archivo FAR, el equivalente al APK de Android . [36]
LK nació cuando @tkgeisel se cansó de escribir el mismo mini-OS para cargadores de arranque o probar firmware una y otra vez, por lo que se tomó un tiempo libre entre trabajos e hizo una versión de código abierto del concepto. Ahora vive en miles de millones de gestores de arranque y otros lugares locos.
— Brian Swetland, uno de los primeros ingenieros del sistema operativo Android. [37]
Fuchsia se basa en un nuevo núcleo con capacidad de objeto , llamado Zircon en honor al mineral . Su código base se derivó del de Little Kernel (LK) para dispositivos integrados , destinado a usos de bajos recursos en una amplia variedad de dispositivos. [38] LK fue desarrollado por Travis Geiselbrecht, quien también fue coautor del kernel NewOS utilizado por Haiku , una reimplementación de software libre de BeOS .
Zircon está escrito principalmente en C++ , con algunas partes en C y lenguaje ensamblador . [2] Está compuesto por un núcleo con un pequeño conjunto de servicios de usuario, controladores y bibliotecas que son todos necesarios para que el sistema arranque, se comunique con el hardware y cargue los procesos del usuario. [39] Sus características actuales incluyen el manejo de subprocesos , memoria virtual , comunicación entre procesos y espera de cambios en el estado de los objetos. [40]
Está fuertemente inspirado en los kernels de Unix [ cita necesaria ] pero difiere mucho. Por ejemplo, no soporta señales tipo Unix , pero incorpora programación basada en eventos y el patrón observador . La mayoría de las llamadas al sistema no bloquean el hilo principal. Los recursos se representan como objetos en lugar de archivos, a diferencia de los sistemas Unix tradicionales en los que todo es un archivo .
En este momento, el kernel y el sistema operativo creados desde cero de Google realmente se iniciarán en el Pixelbook, y algunas cosas incluso funcionan. La pantalla táctil, el trackpad y el teclado funcionan, al igual que los puertos USB. Incluso puedes conectar un mouse y obtener un segundo cursor de mouse.
Escrito en C++, Zircon se compone de un microkernel más un conjunto de servicios de espacio de usuario, controladores y bibliotecas necesarios para manejar el arranque del sistema, el lanzamiento de procesos y otras tareas típicas del kernel. Las llamadas al sistema de Zircon generalmente no son bloqueantes, con la excepción de wait_one, wait_many, port_wait y sleep.