Google está desarrollando el entorno MicroFuchsia, que incluye una versión reducida del sistema operativo Fuchsia, optimizada para ejecutarse en máquinas virtuales en la plataforma Android. Ya se han comenzado a aceptar cambios en la base de código de Android para garantizar el funcionamiento de MicroFuchsia. Para ejecutar máquinas virtuales con MicroFuchsia se utilizará el marco AVF (Android Virtualization Framework), añadido en Android 13, y basado en el hipervisor KVM y la herramienta crosvm.
Antes, Google utilizó el AVF para ejecutar el entorno 'Microdroid', que se emplea para aislar componentes del sistema de terceros en Android, y también experimentó con el lanzamiento de sistemas huéspedes con Chromium OS. Aún no se han comunicado las razones para preparar MicroFuchsia para Android, pero se supone que Google está desarrollando un entorno más eficiente y minimalista para la ejecución aislada de servicios en Android, que consuma menos recursos que el entorno Microdroid basado en componentes del sistema Android y el núcleo de Linux.
Fuchsia se basa en el microkernel Zircon, desarrollado a partir del proyecto LK, ampliado para ser utilizado en diversas clases de dispositivos, incluidos teléfonos inteligentes y computadoras personales. Zircon amplía LK con soporte para procesos y bibliotecas compartidas, un nivel de usuario, un sistema de manejo de objetos y un modelo de seguridad basado en capacidades. Los controladores se implementan como bibliotecas dinámicas que funcionan en el espacio de usuario, cargadas por el proceso devhost y gestionadas por el administrador de dispositivos (devmg, Device Manager).
El proceso de arranque utiliza un gestor del sistema, que incluye appmgr para crear el entorno inicial de programación, sysmgr para establecer el entorno de arranque y basemgr para configurar el entorno del usuario y gestionar el inicio de sesión. Para garantizar la seguridad, se propone un avanzado sistema de aislamiento sandbox, en el que los nuevos procesos no tienen acceso a los objetos del núcleo, no pueden reservar memoria ni ejecutar código; para acceder a los recursos, se utiliza un sistema de espacios de nombres que define los permisos disponibles. La plataforma proporciona un marco para crear componentes que son programas que se ejecutan en su propio sandbox y que pueden interactuar con otros componentes a través de IPC.
Fuente: opennet.ru
