Fuchsia OS has already started rolling out to Nest Hub devices

Petr Hosek , head of Google's team responsible for build systems, compilers, and development tools, recently unveiled the first device to ship with the Fuchsia operating system. The Fuchsia-based firmware will begin rolling out to Nest Hub smart photo frames as part of an experimental update for members of the Google Preview program.

It is mentioned that if no unforeseen problems arise during the test implementation , the Fuchsia-based firmware will be applied to other Nest Hub users' devices , who will not notice the differences, as the interface built on the Flutter framework will remain the same. Only the low-level operating system components will change.

Previously, Google Nest Hub devices released since 2018, which combined the functions of a photo frame, a multimedia system and an interface for smart home control, used firmware based on Cast shell and the Linux kernel.

As a reminder, within the framework of Project Fuchsia, Google has been developing a universal operating system since 2016 that can run on any type of device, from workstations and smartphones to embedded and consumer technology. This development is being carried out taking into account the experience gained from creating the Android platform and addressing shortcomings in scalability and security.

The system is based on the Zircon microkernel, which itself is based on developments from the LK project and extended for use on various classes of devices, including smartphones and personal computers. Zircon extends LK with support for shared processes and libraries, user-level management, object handling, and a capability-based security model. Drivers are implemented as dynamic user-space libraries loaded by the devhost process and managed by the device manager (devmg).

For Fuchsia developed its own graphical user interface written in Dart, using the Flutter framework. The project also develops the Peridot UI framework, the Fargo package manager, the libc standard library, the Escher rendering system, the Magma Vulkan driver, the Scenic Composer, MinFS, MemFS, ThinFS (FAT in Go), and Blobfs file systems, as well as FVM partitioning. It also allows the creation of mobile applications for iOS and Android. Rendering is handled by the Escher component, which operates through the Vulkan graphics API.

The user environment is divided into two components: Armadillo and Armadillo User Shell. Armadillo is a portable application that can run on any Flutter-compatible platform, including Android and iOS (a demo build has been prepared as an APK file for Android, allowing you to test the interface without installing Fuchsia). Armadillo User Shell is a link on top of the Armadillo application that provides tools for interacting with Fuchsia services through FIDL interfaces and organizing the user environment on top of Fuchsia OS system components.

For application development, support for C / C ++, Dart is provided, Rust is also allowed in the system components, in the network stack: Ve and in the Python language build system.

The boot process uses the system manager, which includes appmgr to create the initial software environment, sysmgr to create the boot environment, and basemgr to configure the user environment and organize the login.

To ensure security, an advanced sandbox isolation system is proposed, in which new processes have no access to kernel objects, cannot allocate memory, and cannot execute code. A namespace system is used to access resources, determining available permissions. The platform provides a framework for creating components, which are programs that run in their sandbox and can interact with other components via IPC.


Add as preferred source in Google