Google ha pubblicato una versione completa del browser web Chromium per il sistema operativo Fuchsia, che ha sostituito nell'elenco delle applicazioni il precedente browser semplificato Simple Browser, progettato per eseguire applicazioni web isolate e non per la navigazione di siti. Indirettamente, la fornitura del supporto per un browser web ordinario conferma l'intenzione di Google di sviluppare Fuchsia non solo per dispositivi IoT e consumer, come il Nest Hub, ma anche per piattaforme desktop. Per conoscere lo stato attuale dello sviluppo di Fuchsia, è possibile utilizzare un emulatore, così come le versioni di prova del progetto dahliaOS.
L'interfaccia della build di Chromium per Fuchsia è in generale simile a quella delle build per altri sistemi desktop, ad eccezione di alcuni piccoli difetti e bug, come problemi con la visualizzazione dei menu contestuali e l'apertura di più finestre. Negli ultimi tempi, tuttavia, si lavora attivamente per risolvere problemi simili; ad esempio, nei giorni scorsi è stato fornito il supporto per un visualizzatore PDF integrato e la possibilità di stampare.

Ricordiamo che il sistema operativo Fuchsia è in fase di sviluppo da parte di Google dal 2016, tenendo in considerazione le carenze nella scalabilità e nella sicurezza presenti nella piattaforma Android. Il sistema si basa su un microkernel chiamato Zircon, che deriva dai lavori del progetto LK, ampliato per l'uso su diverse classi di dispositivi, inclusi smartphone e computer personali. Zircon amplia LK con supporto per processi e librerie condivise, un livello utente, un sistema di gestione degli oggetti e un modello di sicurezza basato su capability. I driver sono implementati sotto forma di librerie dinamiche in esecuzione nello spazio utente, caricate dal processo devhost e gestite dal device manager (devmg, Device Manager).
Per Fuchsia è stato sviluppato un'interfaccia grafica personalizzata, scritta in linguaggio Dart utilizzando il framework Flutter. Il progetto include anche lo sviluppo di un framework per la creazione di interfacce utente chiamato Peridot, il gestore pacchetti Fargo, la libreria standard libc, il sistema di rendering Escher, il driver Vulkan Magma, il gestore di composizione Scenic, i file system MinFS, MemFS, ThinFS (FAT in linguaggio Go) e Blobfs, oltre al gestore di partizioni FVM. Per lo sviluppo delle applicazioni, è supportato l'uso dei linguaggi C/C++, Dart, l'uso di Rust è consentito nei componenti di sistema, Go è usato nello stack di rete, e Python nel sistema di build.

Durante il processo di avvio, viene utilizzato un gestore di sistema che include appmgr per creare l'ambiente di programmazione iniziale, sysmgr per formare l'ambiente di avvio e basemgr per configurare l'ambiente utente e organizzare l'accesso al sistema. Per garantire la sicurezza, è previsto un avanzato sistema di isolamento sandbox, in cui i nuovi processi non hanno accesso agli oggetti del kernel, non possono allocare memoria e non possono eseguire codice, mentre per accedere alle risorse viene applicato un sistema di spazi dei nomi che definisce i diritti di accesso disponibili. La piattaforma offre un framework per la creazione di componenti, che sono programmi eseguiti nel proprio sandbox e che possono interagire con altri componenti tramite IPC.
Fonte: opennet.ru
