Petr Hosek, who leads the team at Google responsible for build systems, compilers, and developer tools, introduced the first device that will be equipped with the Fuchsia operating system. The Fuchsia-based firmware will begin to be delivered in smart photo frames for the Nest Hub as part of an experimental update for participants in the Google Preview Program.
If no unforeseen problems arise during the trial implementation, the Fuchsia-based firmware will also be applied to the devices of other Nest Hub users, who will not notice any differences as the interface built on the Flutter framework will remain the same; only the low-level components of the operating system will change. Previously, the devices released since 2018 known as Google Nest Hub, which combine the functions of a photo frame, multimedia system, and smart home control interface, used firmware based on the Cast shell and the Linux kernel.
Let us remind you that since 2016, Google has been developing a universal operating system as part of the Fuchsia project, capable of running on any type of device, from workstations and smartphones to embedded and consumer electronics. The development takes into account the experience of creating the Android platform and addresses shortcomings in scaling and security.
The system is based on the Zircon microkernel, which is derived from the LK project and expanded for application across different classes of devices, including smartphones and personal computers. Zircon extends LK with support for processes and shared libraries, user level, an object handling system, and a capability-based security model. Drivers are implemented as dynamic libraries running in user space, loaded by the devhost process and managed by the device manager (devmg, Device Manager).
Për Fuchsia është përgatitur një ndërfaqe grafike e veçantë, e shkruar në gjuhën Dart duke përdorur framework-un Flutter. Projekti gjithashtu zhvillon framework-un Peridot për ndërtimin e ndërfaqeve të përdoruesit, menaxherin e paketave Fargo, bibliotekën standarde libc, sistemin e renderimit Escher, driverin Vulkan Magma, menaxherin e kompozit Scenic, sistemet e skedarëve MinFS, MemFS, ThinFS (FAT në gjuhën Go) dhe Blobfs, si dhe menaxherin e pjesëve FVM. Për zhvillimin e aplikacioneve ofrohet mbështetje për gjuhët C/C++, Dart, në komponentët sistemorë gjithashtu lejohet përdorimi i Rust, në stack-un rrjetit Go, dhe në sistemin e ndërtimit gjuhën Python.

Gjatë procesit të ngarkimit përdoret menaxheri i sistemit, duke përfshirë appmgr për krijimin e mjedisit fillestar të programeve, sysmgr për formimin e mjedisit të ngarkesës dhe basemgr për konfigurimin e mjedisit të përdoruesit dhe organizimin e hyrjes në sistem. Për të siguruar sigurinë, ofrohet një sistem i avancuar i izolimit sandbox, në të cilin proceset e reja nuk kanë qasje në objektet e bërthamës, nuk mund të alokojnë memorie dhe nuk mund të ekzekutojnë kod, ndërsa për aksesin në burime zbatohet një sistem i hapësirave emërtuese, që përcakton autorizimet e disponueshme. Platforma ofron një framework për krijimin e komponenteve, të cilat janë programe që ekzekutohen në sandbox-in e tyre dhe mund të ndërveprojnë me komponente të tjera përmes IPC.
Burimi: opennet.ru
