Fuchsia OS vai executar programas Android e Linux 'nativamente'

Google prepara o Fuchsia OS para o Mesa 3D
fuchsia

O sistema operacional Fuchsia OS vai executar programas Android e Linux ‘nativamente’, no que depender de uma nova proposta feita pelo Google. A empresa desenvolve o novo sistema há alguns anos. Por enquano, o que se sabe dele, efetivamente, é que não terá como base o Linux. Daí surge o desafio de como o Fuchsia OS poderia rodar programas “não modificados” para Android e Linux. Portanto, a expectativa é de que o novo sistema funcione como um substituto mais moderno e eficiente tanto para Android quanto para Linux.

Um dos maiores problemas com a criação de um novo sistema operacional, particularmente aquele que está sendo construído do zero como o Fuchsia, é que as pessoas vão querer poder rodar seus aplicativos favoritos nesse sistema operacional. No caso do Fuchsia, que teoricamente poderia servir como o sucessor do Chrome OS e do Android, as pessoas provavelmente esperariam ser capazes de rodar aplicativos Android e Linux, junto com aplicativos nativos Fuchsia.

Até agora, a expectativa era que o Fuchsia pudesse fazer isso da mesma forma que o Chrome OS. Este é capaz de executar aplicativos Linux, com uma instância completa do Linux em uma máquina virtual. O Chrome OS está até definido para usar essa mesma estratégia por sua capacidade de executar aplicativos Android, graças a um projeto chamado arcvm.

No entanto, existem algumas desvantagens na abordagem da máquina virtual. Por um lado, o gerenciamento de arquivos entre o “host” (Fuchsia, por exemplo) e o “convidado” (Android) pode ser complicado ou inviável. Além disso, Fuchsia coloca ênfase na segurança, tentando manter os programas isolados uns dos outros sempre que possível. Para manter esse nível de isolamento com aplicativos Linux, o Fuchsia precisaria executar mais de uma máquina virtual, o que poderia prejudicar o desempenho.

Fuchsia OS vai executar programas Android e Linux ‘nativamente’

Esta semana, surgiu uma proposta para uma solução alternativa para o Fuchsia rodar programas para Linux e Android. Em vez de rodar o próprio Linux, o Fuchsia ganharia um sistema chamado “Starnix”. Ele atuaria como um tradutor entre as instruções para o kernel Linux e as instruções para o kernel Zircon do Fuchsia.

Telefone Android exibindo um site que diz "Fuchsia não é Linux"

Essencialmente, os programas Linux teriam execução “normalmente”, sem se dar conta do fato de que não estão em um sistema operacional com base em Linux. Enquanto isso, a Starnix faria o trabalho de garantir que o aplicativo funcionasse no Fuchsia exatamente como deveria no Linux. Se você já conhece o funcionamento do Linux, a proposta completa da Starnix é interessante. Especialmente seus planos de oferecer suporte ao Linux “como ela é falada”. Isso significa preservar cada peculiaridade ou comportamento obscuro.

O que é mais interessante para aqueles com um interesse casual no Fuchsia é precisamente como os desenvolvedores pretendem usar Starnix. Em várias ocasiões, a proposta fala em usar Starnix para executar código do Android diretamente no Fuchsia.

À medida que expandimos o universo de software que desejamos executar no Fuchsia, encontramos softwares que desejamos executar no Fuchsia e que não temos a capacidade de recompilar. Por exemplo, os aplicativos Android contêm módulos de código nativo que foram compilados para Linux. Para executar este software no Fuchsia, precisamos ser capazes de executar binários sem modificá-los.

Por exemplo, executaremos alguns binários de teste de baixo nível da árvore de origem do Android, bem como binários do  Linux Test Project .

A partir disso, podemos ver que o Google pode estar pretendendo que o Fuchsia seja capaz de oferecer suporte profundo aos aplicativos Android, sem a necessidade de exceções, como os aplicativos que usam o Android NDK para escrever em C ou C ++

Por enquanto, apenas uma proposta

Fuchsia OS vai executar programas Android e Linux 'nativamente'

A longo prazo, o Starnix deve servir apenas como uma medida temporária para permitir que o Fuchsia OS do Google seja mais amplamente utilizável. A grande expectativa é que os desenvolvedores portem seus aplicativos para o novo sistema operacional. Em quase todas as situações, um aplicativo Fuchsia nativo deve ter um desempenho melhor do que um aplicativo Linux ou Android rodando através do Starnix.

Dito isso, o Starnix da Fuchsia está apenas na fase de proposta, com uma quantidade significativa de trabalho precisando ser feito para ter algo semelhante a Android / Linux adequado para compatibilidade com Fuchsia / Zircon. Para tentar evitar as armadilhas de tal empreendimento, o Google tem estudado o sucesso e as falhas de projetos semelhantes, como o subsistema original do Windows para Linux (WSL1). No entanto, ainda é bem possível que essa proposta e esforço falhem e que a Fuchsia volte a usar máquinas virtuais para suas necessidades de Linux e Android.

Se a adição de compatibilidade com Linux e Android ao Fuchsia parece intrigante, o Google recentemente abriu o projeto para contribuições da comunidade de código aberto.

9to5 Google