Компания 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 подготовлен собственный графический интерфейс, написанный на языке Dart с использованием фреймворка Flutter. Проектом также развиваются фреймворк для построения интерфейсов пользователя Peridot, пакетный менеджер Fargo, стандартная библиотека libc, система рендеринга Escher, Vulkan-драйвер Magma, композитный менеджер Scenic, файловые системы MinFS, MemFS, ThinFS (FAT на языке Go) и Blobfs, а также менеджер разделов FVM. Для разработки приложений предоставляется поддержка языков C/C++, Dart, в системных компонентах также допускается использование Rust, в сетевом стеке Go, а в системе сборки языка Python.
В процессе загрузки используется системный менеджер, включающий appmgr для создания начального программного окружения, sysmgr для формирования загрузочного окружения и basemgr для настройки пользовательского окружения и организации входа в систему. Для обеспечения безопасности предлагается продвинутая система sandbox-изоляции, в которой новые процессы не имеют доступа к объектам ядра, не могут выделять память и не могут запускать код, а для доступа к ресурсам применяется система пространств имён, определяющая доступные полномочия. Платформа предоставляет фреймворк для создания компонентов, представляющих собой программы, запускаемые в своём sandbox, которые могут взаимодействовать с другими компонентами через IPC.
Источник: opennet.ru