Компания Google опубликовала выпуск операционной системы Fuchsia 14, на базе которого сформированы предварительные обновления прошивок для фоторамок Google Nest Hub и Nest Hub Max. ОС Fuchsia развивается компаний Google c 2016 года с учётом недостатков в области масштабирования и обеспечения безопасности, имеющихся в платформе Android.
Основные изменения в Fuchsia 14:
- Расширены возможности прослойки Starnix, обеспечивающей
запуск немодифицированных Linux-программ через трансляцию системных интерфейсов ядра Linux в обращения к соответствующим подсистемам Fuchsia. В новой версии добавлена поддержка монтирования удалённых ФС,
в fxfs добавлены xattrs для символических ссылок, в системный вызов
mmap() добавлены точки трассировки, расширена информация в /proc/pid/stat, включена поддержка fuchsia_sync::Mutex, реализована поддержка O_TMPFILE, pidfd_getfd, sys_reboot(), timer_create, timer_delete, times() и ptrace(), в реализации ext4 задействован системный файловый кэш. - Улучшен стек Bluetooth. Добавлена поддержка звука в Bluetooth-профиле HSP (HandSet Profile) и сокращены задержки при вещании звука через профиль A2DP.
- В Matter, реализацию стандарта для подключения устройств в умном доме, добавлена поддержка групп обновления и возможность обработки переходных состояний при управлении подсветкой.
- В сетевом стеке для всех платформ включена поддержка сокетов FastUDP.
- Добавлена поддержка многоядерных систем (SMP) на базе архитектуры RISC-V.
- Добавлен API для взаимодействия с планировщиком задач.
- Добавлена поддержка DeviceTree.
- Драйвер для звуковых устройств с интерфейсом USB переведён на использование фреймворка DFv2.
Fuchsia базируется на микроядре 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.