Google is working on providing complete builds of the Chrome browser for the Fuchsia OS. Fuchsia already has a browser engine based on the Chromium codebase for running standalone web applications, but the browser as a separate full-fledged product for Fuchsia has not been available, and the platform primarily developed for IoT and consumer devices like the Nest Hub. Recently, the situation has changed, and the capabilities of Fuchsia aimed at desktop platform use have started to develop.
This includes the development of a set of changes that will make it possible to deliver a complete Chrome to Fuchsia. The initial Chrome build for Fuchsia is planned to be ready for release in time for Chrome 94, scheduled for September 21. The porting work is being carried out gradually — initially providing the possibility to build a stripped-down version, in which some features are replaced with stubs that will be replaced with working code implementations as porting progresses, taking into account the specifics of Fuchsia. For example, adaptation for Fuchsia of the system tray, file downloading, Click To Call functionality, working with removable media, synchronization, user directories, PWA applications, displaying memory and CPU load information, and importing settings from other browsers is underway.
It should be noted that the Fuchsia OS has been developed by Google since 2016, considering the shortcomings in scalability and security present in the Android platform. The system is based on the Zircon microkernel, which builds on the developments of the LK project, extended for use across various classes of devices, including smartphones and personal computers. Zircon extends LK with support for processes and shared libraries, user-level capabilities, an object handling system, and a security model based on capability. Drivers are implemented as dynamic libraries running in user space, loaded by the devhost process and managed by the device manager (devmg, Device Manager).
Fuchsia has its own graphical interface developed in Dart using the Flutter framework. The project also includes the development of the user interface framework Peridot, the package manager Fargo, the standard library libc, the rendering system Escher, the Vulkan driver Magma, the compositor Scenic, the file systems MinFS, MemFS, ThinFS (FAT in Go), and Blobfs, as well as the partition manager FVM. For application development, support is provided for C/C++ and Dart, with Rust permitted in system components, Go in the network stack, and Python in the build system.

During boot, a system manager is used, which includes appmgr for creating the initial program environment, sysmgr for forming the boot environment, and basemgr for configuring the user environment and organizing system login. An advanced sandbox isolation system ensures security, where new processes have no access to kernel objects, cannot allocate memory, and cannot execute code. Resource access is managed through a namespace system that defines available permissions. The platform provides a framework for creating components that are programs running in their own sandbox, able to interact with other components via IPC.
Source: opennet.ru
