Google Fuchsia sarà capace di eseguire programmi per Android e Linux?

15 Febbraio 2021 24

Google pensa di rendere Fuchsia in grado di eseguire applicazioni Linux e Android senza bisogno di modificarle, e senza ricorrere alle virtual machine. L'idea è di implementare un "traduttore", chiamato Starnix, capace di rendere le istruzioni inviate dalle applicazioni comprensibili al kernel del sistema operativo.

Questo permetterebbe a Fuchsia di essere competitivo fin da subito per quanto riguarda il parco app, che al giorno d'oggi è essenziale per la sopravvivenza di qualsiasi ecosistema. Le implicazioni di Starnix sono molto profonde, visto che un sistema del genere garantirebbe una compatibilità piena e totale con entrambi gli ecosistemi, a qualsiasi livello di codice e senza eccezioni.

UN'ALTERNATIVA ALLE VM

Le macchine virtuali sono un sistema più diffuso per l'esecuzione di programmi compilati per sistemi operativi diversi, ma hanno alcune limitazioni. Per cominciare, la condivisione dei file tra il sistema operativo della VM e quello nativo del dispositivo può essere complicata e meno "trasparente" di quanto si auspicherebbe; e le prestazioni dei software virtualizzati sono spesso tangibilmente inferiori rispetto a quelli nativi. Fuchsia inoltre auspica alla massima sicurezza tra i programmi, rendendoli di fatto isolati l'uno dall'altro; ciò comporterebbe l'esecuzione di molteplici macchine virtuali, una per programma, causando un ulteriore crollo delle prestazioni. È lecito aspettarsi che anche un interprete come Starnix potrebbe causare un po' di collo di bottiglia, ma probabilmente meno significativo delle classiche VM.

UNO SVILUPPO PLURIENNALE

Fuchsia è un progetto di sistema operativo sviluppato completamente da Google, al contrario di Android che è basato su Linux. Le sue origini risalgono ormai a qualche anno fa, e ha sempre intrigato gli appassionati soprattutto per alcune delle sue ambizioni - per esempio la possibilità di essere usato su qualsiasi tipo di dispositivo, dai gadget IoT agli smartphone ai PC ai datacenter. Finora lo sviluppo è stato piuttosto lento: il progetto è sempre stato open-source, ma solo da poco Google ha iniziato ad aprirsi di più verso il pubblico, organizzando un bug tracker, una maling list e una roadmap liberamente consultabili.


24

Commenti

Regolamento Commentando dichiaro di aver letto il regolamento e di essere a conoscenza delle informazioni e norme che regolano le discussioni sul sito. Clicca per info.
Caricamento in corso. Per commentare attendere...
Darkat

Non è la stessa cosa però, Rosetta ad esempio non è un ambiente virtualizzato, semplicemente cerca di "tradurre le app" per essere eseguite come native in ambiente M1, questa procedura ha dei pro e contro, puoi avere prestazioni decisamente migliore di un ambiente virtuale, ma allo stesso tempo puoi avere molte più complicazioni e incompatibilità.
Wine invece cerca di emulare le librerie di Windows sotto Linux, è un progetto molto complesso, anche perché per lo più lavorano in reverse engineering, quindi non ci potranno mai essere delle prestazioni vicine al nativo.
Anche nel caso di Fuchsia non si parla di virtualizzazione reale, ma una cosa molto simile a wine però senza lo svantaggio di lavorare in reverse engineering, il codice è tutto di Google.
Se (e ripeto e sottolineo se) Google facesse un buon lavoro la compatibilità e le prestazioni dovrebbero risultare nettamente superiori a Wine e Rosetta, ma con Google è sempre un terno a lotto capire se qualcosa sarà fatto benissimo oppure sarà un'incredibile cag4ta.

DeeoK

È improbabile che vadano a riprendere Linux per due motivi: il primo è che lo stanno già usando, quindi questi tempi lunghissimi sono difficilmente comprensibili; il secondo è dubito vogliano di nuovo avere a che fare con le licenze di Linux ed i loro obblighi.

Otto

Interessante, non lo sapevo. Mi sono andato a leggere le specifiche dell'architettura, ma per adesso sono tutte belle parole astratte.

MatitaNera

Ma ci stanno lavorando da un bel po' se non ricordo male...

DeeoK

Il principio è lo stesso: usi un layer di compatibilità.
Fuchsia non può essere un fork di Linux visto che è a microkernel.

Otto

Precisino, quale sarebbe il tuo contributo alla discussione ?

Estiquaatsi

Ok però ASM e codice macchina non è la stessa cosa, usiamo i termini giusti per favore.

Otto

Parlando di WINE e windows, che é un po' OT, penso che il problema non sia solo nel codice chiuso, perché le chiamate API sono stra-note e ben documentate, ma nella difficoltá di emulare funzionalitá che proprio non esistono in Linux, come COM o come semplicemente il registro di sistema. (anche molte altre ). Microsoft stessa, é dai primi anni 2000 che sta cercando di abbandonare COM passando a .NET e uscire da Win32 ed avere una piattaforma astratta come .net core ( adesso noto semplicemente come .net )

ErCipolla

Esatto, un layer di compatibilità è una pezza che serve per non partire da zero, ma non è certo il modo più desiderabile di eseguire un'applicazione.

Otto

Una cosa é l'emulazione delle istruzioni ASM ( processore ) una cosa é l'emulazione delle chiamate API, Kernel e livelli superiori.
Rosetta traduce le chiamate ASM a paritá di API.
A me sembra che per Fucsia si stia parlando di emulazione API, per esempio come WINE.
Per Android potrebbe essere relativamente facile, perché le app sono dei contenitori, mentre per Linux 'dipende'. Dipende se Fucsia sia un fork di Linux ( probabile ) oppure no.

NaXter24R

Certo, intendo Windows per la compatibilità però. Chissà, un emulatore...

BerlusconiFica

o hai quello che ti serve o ti accontenti

AnalyticalFilm

Docker è già nativo per M1, versione Preview ovviamente.

Nyles

Ah ok devo essere stato fortunato io allora che tutti i programmi che uso per sviluppare sono supportati.

DeeoK

A me funziona tutto perché non ho il Mac, ma applicazioni tipo docker non funzionano con Rosetta 2.

Davide Gardenal

Hai ragione (molto probabilmente) ma per ragioni differenti. Rosetta é un traduttore tra architetture diverse che hanno codice che viene eseguito sulla CPU completamente diverso. Wine é già più simile a quello che vogliono fare il problema é che Windows non é open source quindi non si può scrivere software preciso e corretto. Quello che vogliono fare é difficile ma non impossibile, conoscendo Google però dubito che faranno qualcosa di buono ed efficente.

BerlusconiFica

Ci gira chatroom? é la moda del momento! provatelooh! pazzescoooh!

Nyles

Dopo 2 mesi di lavoro con Mac M1 non ho trovato nessuna applicazione non compatibile (ovviamente usando di tanto in tanto rosetta) neanche tra i programmi di sviluppo più sconosciuti. A te cosa non funziona?

ondaflex

Fucsia fantastico, escono continuamente nuove future senza che esca lui.

ShadowFall

Già con DeX se uno si vuole accontentare ha già tutto quello che gli serve

DeeoK

" un sistema del genere garantirebbe una compatibilità piena e totale con
entrambi gli ecosistemi, a qualsiasi livello di codice e senza
eccezioni."

Ovviamente no.

E' lo stesso approccio di Wine e Rosetta 2, la compatibilità non è garantita manco per il kaiser. Apple, che ha controllo totale su hardware e software non è comunque stata in grado di offrire una compatibilità perfetta, figuriamoci Google che neanche è stata capace di offrire a tutti i suoi Chromebook le app Android e Linux.

Mako

Prima di vedere qualcosa di tangibile ne passeranno di anni

Daniel

E invece no - ma che peccato

NaXter24R

Sarebbe bello poter utilizzare Windows. Con soluzioni tipo Dex si potrebbero sostituire parecchi portatili, almeno per tutti quei frangenti dove ci si può accontentare

24H con Oppo Find N2 Flip, la sfida a Samsung è servita | VIDEO

Abbiamo provato i nuovi Galaxy Z Fold4 e Z Flip4, ecco le novità! | VIDEO

Copertura 5G, a che punto siamo davvero? La nostra esperienza in città

Spotify, Apple Music e gli altri: chi vincerà sul ring dello streaming musicale?