Компания Google приступила к распространению новой прошивки, основанной на ОС Fuchsia, для умных фоторамок Nest Hub Max, выпускаемых с 2019 года. На первом этапе прошивка на базе Fuchsia начнёт доставляться участникам программы Google Preview Program, и если в ходе пробного внедрения не возникнет непредвиденных проблем, прошивка будет применена и на устройствах остальных пользователей Nest Hub Max.
Фоторамка Nest Hub Max стала вторым потребительским устройством, оснащённым операционной системой Fuchsia. Первым прошивку на базе Fuchsia года назад получила модель Nest Hub, которая отличается меньшим экраном и отсутствием встроенной видеокамеры, которая используется в системе видеонаблюдения и обеспечения безопасности. Несмотря на замену операционной системы в прошивке, пользовательский интерфейс и функциональность полностью сохранены и конечные пользователи не должны заменить различий, так как интерфейс построен на базе фреймворка Flutter и абстрагирован от низкоуровневых компонентов. Ранее в устройствах Nest Hub Max, сочетающих функции рамки для фотографий, мультимедийной системы и интерфейса для управления умным домом, применялась прошивка на базе оболочки Cast и ядра Linux.
ОС Fuchsia развивается компаний Google c 2016 года с учётом недостатков в области масштабирования и обеспечения безопасности, имеющихся в платформе Android. Система базируется на микроядре Zircon, основанном на наработках проекта LK, расширенного для применения на различных классах устройств, включая смартфоны и персональные компьютеры. Zircon расширяет LK поддержкой процессов и разделяемых библиотек, уровнем пользователя, системой обработки объектов и моделью обеспечения безопасности на основе capability. Драйверы реализуются в виде работающих в пространстве пользователя динамических библиотек, загружаемых процессом devhost и управляемых менеджером устройств (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
