Fuchsia OS: il sistema operativo di Google del futuro?
Google sta lavorando a un nuovo sistema operativo: con Fuchsia OS, il gruppo tecnologico volta le spalle all'architettura Linux e si affida invece al micro kernel Zircon autosviluppato. Fuchsia potrebbe non solo sostituire il sistema operativo desktop Chrome OS, ma anche Android, che è stato progettato per i dispositivi mobili. E questo nonostante il fatto che Android si sia affermato oggi sul mercato quasi senza rivali.
Google Fuchsia è il sistema operativo del futuro? Abbiamo analizzato nel dettaglio il progetto.
Che cos’è Google Fuchsia?
Fucsia (in inglese Fuchsia) non è solo un colore tra il rosso e il blu, ma anche il nome di un sistema operativo modulare, in tempo reale e basato su permessi, che Google sta sviluppando pubblicamente dal 2016. Il sistema è scritto in C, C++, Dart, Go e Rust e dovrebbe funzionare su moderni processori Intel ARM a 64 bit.
Un sistema operativo in tempo reale (RTOS, Real-Time Operating System) è un sistema operativo in grado di rispondere agli eventi e di fornire risultati di elaborazione istantaneamente o in un periodo di tempo predefinito.
Il codice sorgente di Fuchsia OS è sotto licenza open source (incluse le licenze BSD, MIT e Apache) e può essere visualizzato e scaricato da chiunque dai repository Git pubblici di Google. Se siete interessati, qui potete anche trovare un’ampia documentazione del progetto.
Secondo la documentazione, Fuchsia OS è adatto a smartphone, tablet, computer portatili e desktop. Da maggio 2017 con Armadillo è disponibile un’interfaccia utente (UI) ottimizzata per l'uso touch con un’interfaccia utente grafica. Google sta sviluppando un’interfaccia utente desktop per il sistema operativo Fuchsia OS con il titolo operativo di Capybara. Da allora si sono diffuse voci secondo cui Google stia lavorando per sostituire l’impareggiabile Android.
Come funziona il sistema operativo Fuchsia OS?
Google è all'avanguardia nello sviluppo di Fuchsia OS. Si potrebbe dire che l'azienda ha imparato dagli errori del passato, soprattutto per quanto riguarda i limiti e i problemi di aggiornamento e modifica di Android e Chrome OS. La differenza centrale rispetto ai sistemi operativi consolidati di Google: Fuchsia OS è di base creato in maniera modulare. Questo si riflette non solo in un’architettura di sistema modulare, ma anche in una comprensione completamente nuova di cosa sia un’applicazione.
Design modulare dell’applicazione
Google Fuchsia si basa su un design modulare che rompe con il concetto di app. Le unità software si chiamano packages (pacchetti). Un pacchetto è una selezione di file, inclusi metadati, file manifesto ed elementi eseguibili. Questi ultimi sono chiamati components (componenti) nella terminologia di Google.
I componenti di Fuchsia si avvicinano di più a quelle che oggi chiamiamo app. Ogni componente esegue un compito specifico e può essere combinato con altri componenti per creare applicazioni complesse. Le parti di un componente includono un file manifesto e il codice associato. I componenti funzionano sempre nella propria sandbox, accedono agli oggetti tramite namespace e li pubblicano tramite una directory di esportazione. Con Fuchsia OS sono in primo piano due tipi di componenti: models (moduli) e agents (agenti).
I componenti nel ruolo di un agente lavorano in background e forniscono servizi per altre componenti. Un agente è chiamato da un altro componente o dal sistema, per esempio in risposta ad alcuni trigger come le notifiche push o altri processi su schermo.
I moduli sono componenti con un’interfaccia utente che vengono eseguiti in primo piano, visibili all’utente. Ogni modulo all'interno del sistema operativo è stato progettato per un compito specifico e viene contrassegnato di conseguenza in modo che possa essere chiamato automaticamente quando necessario. Questo viene fatto utilizzando la funzione del modulo, che può essere descritta utilizzando verbs (verbi) e nouns (sostantivi).
Ogni modulo include una lista di verbi che indicano il lavoro che il modulo può fare, così come una lista di nomi che rappresentano le entità con cui si sta lavorando. Secondo la terminologia di Google, il termine entity (entità) include qualsiasi persona, luogo, cosa, evento o concetto univocamente identificabile che esiste come oggetto di dati strutturati che può essere referenziato e recuperato, presentato, manipolato o condiviso.
In pratica, il lavoro con il sistema operativo in tempo reale Fuchsia si svolge quindi come segue: non appena un utente esegue un’azione, Fuchsia OS determina automaticamente il modulo appropriato per l’incarico. L’azione desiderata si traduce in una combinazione di verbo e nome. Il sistema recupera quindi una lista di tutti i moduli che supportano il verbo desiderato e filtra nel passo successivo per il modulo che può anche gestire il nome desiderato.
I moduli correlati possono essere raggruppati in una cosiddetta story (storia). Le storie combinano azioni e compiti diversi a seconda delle esigenze attuali e dovrebbero consentire agli utenti di assemblare applicazioni complesse in base alle proprie idee e alle proprie esigenze.
Con il concetto di applicazione modulare di Fuchsia OS Google sposta l'attenzione dalle applicazioni alle azioni e ai contenuti. Invece del classico sistema operativo di un’applicazione attualmente in uso, i compiti di Fuchsia sono gestiti da un gruppo di componenti nelle cosiddette storie che accedono alle risorse attualmente necessarie tramite moduli.
Il grafico seguente illustra il concetto modulare che sta alla base dello sviluppo di applicazioni per Fuchsia OS.
Architettura di sistema modulare
Anche l’architettura di sistema di Fuchsia OS si basa su un approccio modulare. Il sistema operativo si compone di quattro livelli più o meno indipendenti, ognuno con le proprie mansioni: Zircon, Garnet, Peridot e Topaz.
Zircon
Zircon (ex Magenta) è la base del nuovo sistema operativo di Google, ma in senso stretto non fa parte di Fuchsia OS e potrebbe essere utilizzato anche con altri sistemi operativi.
Zircon contiene il kernel di Fuchsia OS, il gestore dei dispositivi, la maggior parte dei driver per dispositivi core e di prima parte e librerie di sistema di basso livello come libc e launchpad. Inoltre Zircon fornisce FIDL (Fuchsia Interface Definition Language), un protocollo per la comunicazione tra processi. FIDL è indipendente dal linguaggio di programmazione, ma ha connessioni a linguaggi di programmazione popolari come C, C++, Dart, Go e Rust.
Come base del sistema operativo Fuchsia OS, Zircon fornisce l’accesso hardware per i livelli successivi, crea astrazioni software su risorse hardware condivise e serve come piattaforma per lo sviluppo di software di basso livello. Zircon è emerso dal progetto Little Kernel (LK), che funge da bootloader (programma di avvio) per Android.
Peridot
Peridot è il livello del sistema operativo di Fuchsia OS su cui vengono gestite e compilate le applicazioni modulari (v. sopra) secondo le attuali esigenze dell'utente. I componenti principali di Peridot sono Ledger e Maxwell.
- Ledger: è un sistema di archiviazione basato su cloud (Distributed Storage System) che fornisce un archivio dati separato per ogni componente (modulo o agente) di Fuchsia ed è sincronizzato su dispositivi diversi. Questo permette all’utente di continuare a lavorare su un dispositivo Fuchsia esattamente nel punto in cui ha lasciato un altro dispositivo. Ledger viene salvato nell’account Google dell’utente.
- Maxwell: un componente che supporta gli utenti come intelligenza artificiale integrato su Fuchsia OS da Google. Come di consueto per Fuchsia, anche Maxwell è modulare. Il sistema di intelligenza artificiale consiste in una serie di agenti che analizzano le azioni dell’utente e i contenuti che utilizzano, determinano le informazioni adeguate in background e trasmettono suggerimenti al sistema operativo, per esempio quali moduli o storie debbano essere caricati in base al comportamento dell’utente in un dato momento. Anche l’assistente vocale di Google fa parte del componente AI, ulteriormente sviluppato con il nome in codice Kronk come parte del progetto Fuchsia.
Kronk è finora l’unico componente di Fuchsia OS che non viene sviluppato come progetto open source.
Topaz
Topaz è il livello di sistema di Fuchsia OS dove gli utenti interagiscono con il sistema operativo. Qui vengono visualizzate le interfacce utente dei componenti definiti nei livelli sottostanti: sia l’interfaccia utente grafica con schermata iniziale, Armadillo o Capybara a seconda del dispositivo, sia i front end visivi dei moduli. A questo livello di sistema è integrato anche il framework per applicazioni mobili open source multipiattaforma di Google Flutter. Si può quindi presumere che gli utenti con Fuchsia OS saranno in grado di eseguire e utilizzare applicazioni di altri sistemi in futuro, ad esempio applicazioni Android o iOS.
I vantaggi e gli svantaggi di Fuchsia OS in sintesi
Secondo l’approccio modulare, gli sviluppatori di Fuchsia OS hanno suddiviso l’architettura di sistema in singole aree con compiti speciali. Questo non solo migliora la leggibilità del codice, ma ha anche un effetto sull’adattabilità e l’aggiornamento del sistema operativo. Google risolve il problema dell'aggiornamento con cui Android ha lottato a lungo.
L’ecosistema Android sta lottando con un problema di aggiornamento. Uno sguardo alla dashboard di distribuzione ufficiale mostra che le nuove versioni del sistema operativo si stanno diffondendo lentamente. Un problema che non si conosce con la concorrenza. Mentre l'hardware e il software Apple provengono dalla stessa azienda e possono essere adattati senza ritardi, ogni aggiornamento di Android deve prima essere implementato dai vari produttori di hardware.
Inoltre, l'architettura di sistema modulare soddisfa le esigenze dei partner commerciali di Google, che vogliono adattare o estendere Fuchsia OS secondo le proprie idee.
I produttori di hardware hanno la possibilità di scambiare i singoli livelli del sistema operativo con i propri prodotti senza compromettere la funzionalità degli altri livelli. Samsung, ad esempio, potrebbe sostituire Topaz con un’interfaccia utente in stile TouchWiz. Amazon sarebbe in grado di fare a meno di Peridot e dell’assistente vocale di Google e di equipaggiare Fuchsia OS con un modulo app basato su AWS che include Alexa.
In entrambi i casi i produttori di dispositivi potrebbero offrire versioni personalizzate di Fuchsia OS senza influire sulle caratteristiche di Zircon e Garnet o sui cicli ufficiali di aggiornamento per questi livelli.
Vantaggi | Svantaggi |
---|---|
L’architettura di sistema modulare di Fuchsia OS consentirà a Google in futuro di dispiegare gli aggiornamenti in modo notevolmente più veloce rispetto ad Android. | Google trasforma Ledger in un componente principale di Fuchsia OS. Ledger controlla la sincronizzazione delle applicazioni dai diversi dispositivi e collega così il sistema saldamente al cloud. |
Grazie alla struttura modulare i produttori di hardware hanno la possibilità di sostituire i singoli livelli di sistema di Fuchsia OS tramite i propri componenti senza che gli altri livelli vengano influenzati dalla loro funzione. |
Stato di sviluppo
Fuchsia OS sta lentamente prendendo forma, ma è ancora lontano dall’essere pronto per il mercato. Google non ha ancora annunciato una data di uscita ufficiale. Secondo quanto riportato dai media, i primi test hardware sono già avvenuti. Come primo produttore di dispositivi a testare Fuchsia OS, Huawei ha avviato con successo il nuovo sistema operativo su Honor Play. Lo smartphone è dotato del chip Huawei Kirin-970, che viene utilizzato anche in altri dispositivi del produttore, come Mate 10, Mate 20 e Mate 20 Pro.
Fuchsia OS Demo
Già in fase di sviluppo Fuchsia OS può essere compilato come APK (Android Package) e installato su smartphone e tablet Android. La versione demo Fuchsia OS dello studente portoghese di informatica Manuel Goulão mostra come si presenta Fuchsia OS.
Aprendo la demo di Fuchsia nel browser si arriva a un sito web che mostra la schermata iniziale del sistema operativo, dove l'utente viene salutato con un’immagine di sfondo e l’ora corrente. Inoltre, sono disponibili tre pulsanti: un pulsante che apre le impostazioni WiFi, il pulsante di login per gli utenti registrati e un login per gli ospiti.
Finora, la demo permette di accedere solo come ospite.
Gli utenti registrati possono accedere alla schermata iniziale di Fuchsia OS, che visualizza tutte le informazioni in una sola pagina.
L’elemento più importante nella schermata iniziale è una finestra al centro dello schermo che contiene la barra di ricerca di Google, l’assistente vocale di Google e le applicazioni installate sul dispositivo.
Se si avvia un’applicazione (che rende disponibile la demo come dummy), si vedrà che Google ha optato per un’interfaccia utente basata su finestre.
Facendo clic sull’immagine utente al centro della schermata iniziale si apre un menu con le impostazioni utilizzate di frequente.
Fuchsia OS è stato anche ampiamente testato dai redattori di Ars Technica, che ha fatto funzionare la versione pre-release su un Pixelbook. Il seguente video mostra il risultato del test: