Torniamo a parlare di Fuchsia OS, il nuovo sistema operativo open source cui sta lavorando da anni Google. Dopo l’apertura dell’azienda di Mountain View ai contributori esterni arrivano ulteriori interessanti novità. Per chi non lo sapesse, Fuchsia OS ambisce a diventare, in un colpo solo, il diretto successore di Android e Chrome OS. Pare che Big G voglia farlo funzionare trasversalmente su dispositivi per l’IoT, sugli smartphone fino a laptop e hardware di classe desktop.
Sicuramente uno dei principali punti che permettono di sancire il successo o meno di un sistema operativo è il parco applicazioni a disposizione degli utenti. Google sta lavorando ad un progetto che consentirà di eseguire in modo nativo e senza virtualizzazione app Android e Linux su Fuchsia.
Fino ad ora, si pensava che Fuchsia potesse eseguire app Linux e Android nello stesso modo di Chrome OS, cioè eseguendo un’istanza completa di Linux in una macchina virtuale. Chrome OS usa questa stessa strategia anche per eseguire app Android, grazie al progetto arcvm. Come sapete, questo approccio ha alcuni aspetti negativi non di poco conto. Ad esempio, la gestione dei file tra “host” (Fuchsia, ad esempio) e “guest” (Android/Linux) può essere complicata e macchinosa. Inoltre, c’è il tema sicurezza, la cosa migliore da fare è mantenere i programmi isolati l’uno dall’altro, ove possibile. Infine il capitolo prestazioni: inutile dire che le VM richiedono una buona potenza di calcolo e un importante quantitativo di memoria per funzionare bene.
L’idea di Google: Starnix per Fuchsia OS
In questi giorni ha creato un gran dibattito una proposal dal titolo “Running unmodified Linux programs on Fuchsia“ pubblicata da Google e battezzata progetto Starnix. Sembra trattarsi di una soluzione per eseguire nativamente app Linux e Android. Al posto di una VM Google vuole implementare un “traduttore”, Starnix appunto, che traduce le istruzioni dal kernel Zircon di Fuchsia al kernel Linux. Vi dice niente? Il concetto è del tutto analogo a quanto fa Apple per gestire i programmi x86 sulla sua nuova architettura Arm, Apple Silicon. Starnix si occuperà di tradurre l’applicazione sviluppata per Linux, così che la stessa funzioni come se si trovasse su una piattaforma Linux nativa.
Come se non bastasse, le difficoltà non mancano di certo, Google intende espandere Starnix in modo da renderlo capace di tradurre anche le app Android.
Man mano che espandiamo l’universo di software che desideriamo eseguire su Fuchsia, ci imbattiamo in codice che non siamo in grado di ricompilare. Ad esempio, le applicazioni Android contengono moduli di codice nativo che sono stati compilati per Linux. Per eseguire questo software su Fuchsia, dobbiamo essere in grado di eseguire tali binari senza modificarli.
queste le parole di big G.
A lungo termine, Starnix dovrebbe essere utilizzato solo come misura provvisoria in attesa che gli sviluppatori portino le loro app al nuovo sistema operativo. Inutile dire che un’app Fuchsia nativa funzionerà sicuramente meglio di un’app Linux o Android eseguita tramite Starnix.
Detto ciò, il progetto Starnix è ancora in fase embrionale, con una notevole quantità di lavoro che deve essere svolto per avere un qualcosa che garantisca la corretta compatibilità tra Android, Linux e Fuchsia OS. Per cercare di evitare le insidie di tale impresa, pare che Google abbia studiato il successo e gli insuccessi di progetti simili, compreso il Windows Subsystem for Linux (WSL).
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.