A Google está desenvolvendo o ambiente MicroFuchsia, que inclui uma versão reduzida do sistema operacional Fuchsia, otimizada para execução em máquinas virtuais na plataforma Android. As mudanças necessárias já começaram a ser integradas à base de código do Android para garantir o funcionamento do MicroFuchsia. O framework AVF (Android Virtualization Framework), adicionado no Android 13 e baseado no hipervisor KVM e na ferramenta crosvm, será utilizado para rodar máquinas virtuais com o MicroFuchsia.
Antes disso, o Google usou o AVF para executar o ambiente 'Microdroid', que é empregado para isolar componentes de sistema de terceiros no Android, além de ter experimentado com a execução de sistemas convidados com o Chromium OS. Os motivos para a preparação do MicroFuchsia para o Android ainda não foram divulgados, mas acredita-se que a Google esteja desenvolvendo um ambiente mais eficiente e minimalista para o lançamento isolado de serviços no Android, que consome menos recursos do que o ambiente Microdroid baseado em componentes de sistema do Android e no núcleo Linux.
O Fuchsia é baseado no microkernel Zircon, que se baseia nos desenvolvimentos do projeto LK, ampliado para uso em várias classes de dispositivos, incluindo smartphones e computadores pessoais. O Zircon expande o LK com suporte a processos e bibliotecas compartilhadas, nível de usuário, sistema de gerenciamento de objetos e modelo de segurança baseado em capabilities. Os drivers são implementados como bibliotecas dinâmicas que operam no espaço do usuário, carregadas pelo processo devhost e gerenciadas pelo gerenciador de dispositivos (devmg, Device Manager).
Durante o processo de inicialização, utiliza-se um gerenciador de sistema, que inclui o appmgr para criar o ambiente de programa inicial, sysmgr para configurar o ambiente de inicialização e basemgr para definir o ambiente do usuário e organizar o login no sistema. Para garantir a segurança, é oferecido um avançado sistema de isolamento sandbox, onde novos processos não têm acesso aos objetos do kernel, não podem alocar memória e não podem executar código, e para acesso a recursos é aplicada uma sistema de espaços de nome, determinando as permissões disponíveis. A plataforma fornece um framework para a criação de componentes, que são programas que são executados em seu próprio sandbox e podem interagir uns com os outros através de IPC.
Fonte: opennet.ru
