Google ha pubblicato la versione del sistema operativo Fuchsia 14, sulla quale sono basati i recenti aggiornamenti del firmware per i display Google Nest Hub e Nest Hub Max. Il sistema operativo Fuchsia è in fase di sviluppo da parte di Google dal 2016, tenendo conto delle carenze relative alla scalabilità e alla sicurezza presenti nella piattaforma Android.
Principali novità in Fuchsia 14:
- Le funzionalità dello strato Starnix sono state ampliate, permettendo l'esecuzione di programmi Linux non modificati tramite la traduzione delle interfacce di sistema del kernel Linux in chiamate ai corrispondenti sottosistemi di Fuchsia. Nella nuova versione è stata aggiunta la supporto per il montaggio di filesystem remoti, sono stati introdotti gli xattrs per i collegamenti simbolici in fxfs, sono stati aggiunti i punti di tracciamento nella chiamata di sistema mmap(), sono state ampliate le informazioni in /proc/pid/stat, è stata inclusa la supporto per fuchsia_sync::Mutex, è stata implementata la supporto per O_TMPFILE, pidfd_getfd, sys_reboot(), timer_create, timer_delete, times() e ptrace(), e nel filesystem ext4 è stato utilizzato un sistema di cache dei file di sistema.
- Migliorato il stack Bluetooth. È stata aggiunta la supporto per l'audio nel profilo Bluetooth HSP (HandSet Profile) e sono state ridotte le latenze nella trasmissione dell'audio attraverso il profilo A2DP.
- In Matter, the implementation of the standard for connecting devices in the smart home now includes support for update groups and the ability to handle transitional states when managing lighting.
- FastUDP socket support has been added to the network stack for all platforms.
- Support for multicore systems (SMP) based on the RISC-V architecture has been added.
- An API for interaction with the task scheduler has been introduced.
- Support for DeviceTree has been added.
- The driver for USB audio devices has been transitioned to use the DFv2 framework.
Fuchsia is based on the Zircon microkernel, which draws from the LK project, expanded for use across various device classes, including smartphones and personal computers. Zircon enhances LK by adding support for processes and shared libraries, a user-level, an object handling system, and a capability-based security model. Drivers are implemented as dynamically loaded user-space libraries managed by the devhost process and the device manager (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
