Fuchsia es un sistema operativo basado en capacidades de código abierto desarrollado por Google . A diferencia de los sistemas operativos basados en Linux de Google, como ChromeOS y Android , Fuchsia se basa en un núcleo personalizado llamado Zircon. Debutó públicamente como un repositorio git autoalojado en agosto de 2016 sin ningún anuncio corporativo oficial. Después de años de desarrollo, su lanzamiento oficial del producto fue en 2021 en el Google Nest Hub de primera generación , reemplazando a su Cast OS original basado en Linux .
Fuchsia recibe su nombre del color fucsia , que es una combinación de rosa y morado. [5] [6] 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 ( nombre en código "Pink") e iOS (nombre en código "Purple"). [7] El esquema de nombres basado en colores deriva de los colores de las tarjetas de índice que los empleados de Apple usaban para organizar sus ideas. [8]
El nombre del color fucsia se deriva del género de plantas Fuchsia, que a su vez 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 núcleo Zircon, anteriormente llamado Magenta. [9] [10] [11] [12] [13] [14]
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 presentació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 podían probar Fuchsia, nada "funciona", porque "es 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. [15] [16] 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 por "rehacer" [17] o reemplazar a Android [18] [19] [20] de una manera que solucione sus problemas. [15]
En enero de 2018, Google publicó una guía sobre cómo ejecutar Fuchsia en Pixelbooks . [21] [22] Esto fue implementado con éxito por Ars Technica , donde los expertos quedaron impresionados con el progreso, notando que las cosas estaban funcionando y estaban especialmente complacidos por el soporte de hardware y los múltiples punteros del mouse. [23]
En enero de 2019, se agregó un dispositivo Fuchsia al ecosistema Android a través del Proyecto de código abierto Android (AOSP). [24] [25] Google habló sobre Fuchsia en Google I/O 2019. [26] Hiroshi Lockheimer , vicepresidente sénior de Chrome y Android, lo describió como uno de los experimentos de Google en torno a nuevos conceptos de sistemas operativos. [27]
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. [16] 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" [28] incluyendo hacer públicas las listas de correo , introducir un modelo de gobernanza, publicar una hoja de ruta y utilizar un rastreador de problemas público .
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 orientados al usuario en el software o la interfaz de usuario del dispositivo. [29] [30] 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. [31] Alrededor del 21 de febrero de 2022, el navegador Chrome estaba funcionando completamente en Fuchsia. [32]
En enero de 2023, Google anunció despidos en toda la empresa, lo que afectó al 16 % de los empleados de Fuchsia. [33] En mayo de 2023, Google comenzó a implementar una actualización basada en Fuchsia para Google Nest Hub de segunda generación . [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 a partir 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 diseñado a medida para ejecutar las pautas de interfaz ' 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 una versión especial de Android Runtime para Fuchsia se ejecute desde un archivo FAR, el equivalente del APK de Android . [36]
LK nació de la cansacia de @tkgeisel de escribir una y otra vez el mismo mini-OS para cargadores de arranque o firmware de prueba, por lo que se tomó un tiempo libre entre trabajos e hizo una versión de código abierto del concepto. Ahora se encuentra en miles de millones de cargadores de arranque y otros lugares extraños.
— Brian Swetland, uno de los primeros ingenieros del sistema operativo Android. [37]
Fuchsia se basa en un nuevo núcleo con capacidad de objetos , 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 núcleo 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 . [3] 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 núcleos Unix [41] pero difiere mucho de ellos. Por ejemplo, no admite señales similares a Unix , pero incorpora programación basada en eventos y el patrón de 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 .
{{cite web}}
: Falta o está vacío |title=
( ayuda )En este momento, el kernel y el sistema operativo creados desde cero de Google realmente arrancarán en el Pixelbook, y algunas cosas incluso funcionan. La pantalla táctil, el panel táctil 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 que se requieren 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.