Google ha iniziato a distribuire un nuovo firmware basato su Fuchsia per i fot Frame intelligenti Nest Hub Max, rilasciati dal 2019. Nella fase iniziale, il firmware basato su Fuchsia inizierà a essere consegnato ai partecipanti al Google Preview Program e, se durante il test non si verificheranno problemi imprevisti, il firmware verrà applicato anche ai dispositivi degli altri utenti di Nest Hub Max.
Il telaio fotografico Nest Hub Max è diventato il secondo dispositivo di consumo dotato del sistema operativo Fuchsia. Il primo dispositivo a ricevere il firmware basato su Fuchsia è stato il modello Nest Hub, che ha uno schermo più piccolo e non ha una videocamera integrata, utilizzata nel sistema di videosorveglianza e sicurezza. Nonostante il cambio del sistema operativo nel firmware, l'interfaccia utente e la funzionalità sono completamente conservate e gli utenti finali non dovrebbero notare differenze, poiché l'interfaccia è costruita sulla base del framework Flutter ed è astratta dai componenti di basso livello. In precedenza, negli dispositivi Nest Hub Max, che combinano le funzioni di un telaio fotografico, un sistema multimediale e un'interfaccia per la gestione della casa intelligente, era utilizzato un firmware basato su Shell Cast e kernel Linux.
Il sistema operativo Fuchsia è in fase di sviluppo da parte di Google dal 2016, per affrontare le carenze di scalabilità e sicurezza presenti nella piattaforma Android. Il sistema si basa su un microkernel chiamato Zircon, che deriva dal progetto LK, e viene esteso per essere utilizzato su diverse classi di dispositivi, inclusi smartphone e personal computer. Zircon amplia LK con supporto per processi e librerie condivise, livelli utente, gestione degli oggetti e un modello di sicurezza basato su capability. I driver sono implementati come librerie dinamiche che operano nello spazio utente, caricate dal processo devhost e gestite dal manager dei dispositivi (devmg, Device Manager).
Fuchsia ha un'interfaccia grafica dedicata, sviluppata in Dart utilizzando il framework Flutter. Il progetto include anche il framework Peridot per la creazione dell'interfaccia utente, il gestore pacchetti Fargo, la libreria standard libc, il sistema di rendering Escher, il driver Vulkan Magma, il gestore composito Scenic, le file system MinFS, MemFS, ThinFS (FAT in Go) e Blobfs, oltre al gestore di partizioni FVM. Per lo sviluppo di applicazioni, sono supportati i linguaggi C/C++, Dart e, per i componenti di sistema, è consentito l'uso di Rust, mentre nel stack di rete è inclusa l'implementazione in Go e nel sistema di build è usato Python.

Durante il processo di avvio viene utilizzato un gestore di sistema, che comprende appmgr per la creazione dell'ambiente di esecuzione iniziale, sysmgr per la formazione dell'ambiente di avvio e basemgr per la configurazione dell'ambiente utente e l'organizzazione dell'accesso al sistema. Per garantire la sicurezza, è proposta un avanzata sistema di isolamento sandbox, in cui nuovi processi non hanno accesso agli oggetti del kernel, non possono allocare memoria e non possono eseguire codice; l'accesso alle risorse viene gestito attraverso un sistema di spazi dei nomi che definisce i diritti disponibili. La piattaforma offre un framework per la creazione di componenti, che sono programmi eseguiti nel proprio sandbox, capaci di interagire con altri componenti tramite IPC.
Fonte: opennet.ru
