Google is working on a new operating system: With Fuchsia OS, the tech­nol­o­gy group turns its back on the Linux ar­chi­tec­ture and instead relies on the self-developed micro kernel Zircon. Fuchsia could not only replace the desktop operating system Chrome OS, but also Android, which is designed for mobile devices. And this despite the fact that Android is almost un­ri­valled on the market today.

Is Google Fuchsia the operating system of the future? We have taken a close look at the project.

What is Google Fuchsia?

Fuchsia is not only a color between red and blue, but also the name of a modular, rights-based, real-time operating system that Google has been de­vel­op­ing in front of the public since 2016. The system is written in C, C++, Dart, Go, and Rust, and runs on modern 64-bit Intel ARM proces­sors.

Fact

A real-time operating system (RTOS) is an operating system capable of re­spond­ing to events and providing pro­cess­ing results instantly or over a pre-defined time.

Fuchsia OS’s source code is under open source license (including BSD, MIT, and Apache licenses) and can be viewed and down­loaded by anyone in Google’s public Git repos­i­to­ries. Here is a com­pre­hen­sive doc­u­men­ta­tion on the project.

According to the doc­u­men­ta­tion, Fuchsia OS is equally suitable for smart­phones, tablets, laptops, and desktop computers. Since May 2017, Armadillo has been available as a touch-optimized user interface (UI) with a graphical user interface. Google is de­vel­op­ing a desktop UI for Fuchsia OS under the working title Capybara. Since then, there have been rumors that Google is working on a re­place­ment for the prac­ti­cal­ly un­ri­valled Android.

How does Fuchsia OS work?

Google is breaking new ground in the de­vel­op­ment of Fuchsia OS. One could say that the company has learned from past mistakes – es­pe­cial­ly regarding lim­i­ta­tions and problems with updating and modifying Android and Chrome OS. The central dif­fer­ence to the es­tab­lished Google operating systems: Fuchsia OS is modular from start to finish. This is reflected not only in a modular system ar­chi­tec­ture, but also in a com­plete­ly new un­der­stand­ing of what an ap­pli­ca­tion is.

Modular ap­pli­ca­tion design

Google Fuchsia is based on a modular design that breaks the concept of the app. Software units are referred to as packages. A package is a selection of files – including metadata, manifest files, and ex­e­cutable elements. The latter are called com­po­nents in Google ter­mi­nol­o­gy.

Fuchsia com­po­nents come closest to what we call apps today. Each component performs a specific task and can be combined with other com­po­nents to enable complex ap­pli­ca­tions. The parts of a component include a manifest file as well as the as­so­ci­at­ed code. Com­po­nents always run in their own sandbox, access objects via name­spaces, and publish them via an export directory. Fuchsia OS focuses on two types of com­po­nents: modules and agents.

Com­po­nents in the role of an agent work in the back­ground and provide services for other com­po­nents. An agent is called either by another component or by the system – for example, in response to certain triggers such as push no­ti­fi­ca­tions or other on-screen processes.

Modules are com­po­nents with a user interface that are executed in the fore­ground, visible to the user. Each module within the operating system has been designed for a specific task and is marked ac­cord­ing­ly so that it can be accessed au­to­mat­i­cal­ly when needed. This is done using the module’s function, which can be described using so-called verbs and nouns.

Each module includes a list of verbs that indicate what work the module can do, as well as a list of nouns that represent entities that are being worked with. According to Google ter­mi­nol­o­gy, the term entity includes any uniquely iden­ti­fi­able person, place, thing, event, or concept that exists as a struc­tured data object that can be ref­er­enced and retrieved, presented, ma­nip­u­lat­ed, or shared.

In practice, working with the real-time operating system Fuchsia is therefore as follows: As soon as a user executes an action, Fuchsia OS au­to­mat­i­cal­ly de­ter­mines the ap­pro­pri­ate module for the task. The desired action is trans­lat­ed into a com­bi­na­tion of verbs and nouns. The system then retrieves a list of all modules that support the desired verb and in the next step, filters according to the module that can also handle the desired noun.

Related modules can be grouped into so-called stories. Stories combine different actions and tasks according to current re­quire­ments and should enable users to assemble complex ap­pli­ca­tions according to their own ideas and re­quire­ments.

Summary

=With the modular ap­pli­ca­tion concept of Fuchsia OS, Google shifts the focus from apps to actions and content. Instead of the classic operating system of a currently used app, tasks at Fuchsia are handled by a group of com­po­nents in so-called stories, which access currently required resources via modules.

The following graphic il­lus­trates the modular concept behind the de­vel­op­ment of ap­pli­ca­tions for Fuchsia OS.

Modular system ar­chi­tec­ture

The system ar­chi­tec­ture of Fuchsia OS is also based on a modular approach. The operating system comprises of four more or less in­de­pen­dent levels, each with its own tasks: Zircon, Garnet, Peridot, and Topaz.

Zircon

Zircon (formerly Magenta) is the basis of the new Google operating system, but strictly speaking it is not part of Fuchsia OS and could be used with other operating systems as well.

Zircon contains the kernel of Fuchsia OS, the device manager, the most core and first party device drivers, and low-level system libraries such as libc and launchpad. In addition, Zircon offers FIDL (Fuchsia Interface De­f­i­n­i­tion Language), a protocol for in­ter­process com­mu­ni­ca­tion. FIDL is pro­gram­ming language in­de­pen­dent, but has con­nec­tions to popular pro­gram­ming languages like C, C++, Dart, Go, and Rust.

As the basis of Fuchsia OS, Zircon provides hardware access for sub­se­quent levels, creates software ab­strac­tions over shared hardware resources, and serves as a platform for low-level software de­vel­op­ment. Zircon is the result of the Project Little Kernel (LK), which acts as a boot­loader for Android.

Garnet

Garnet is the first Fuchsia-specific system layer based on Zircon. Various system services at device level as well as network, media, and graphics services are provided – for example for software in­stal­la­tion, system ad­min­is­tra­tion, and com­mu­ni­ca­tion with other systems. Garnet contains the graphic renderer Escher, the package man­age­ment and update system Amber, as well as the text and code editor Xi.

Peridot

Peridot is the operating system level of Fuchsia OS on which the modular ap­pli­ca­tions (see above) are managed and compiled according to current user re­quire­ments. The core com­po­nents of Peridot are Ledger and Maxwell.

  • Ledger: Ledger is a cloud-based storage system (Dis­trib­uted Storage System) that provides a separate data store for each Fuchsia component (module or agent). This is syn­chro­nized across different devices. This allows a user to continue on a Fuchsia device exactly where they left off on another Fuchsia device. Ledger is secured to the user’s Google account.
  • Maxwell: With Maxwell, Google has in­te­grat­ed a component in Fuchsia OS that supports users as ar­ti­fi­cial in­tel­li­gence. Just like with Fuchsia, Maxwell has a modular design. The AI system consists of a series of agents that analyze the actions of the user and the content used by them, determine suitable in­for­ma­tion in the back­ground, and forward sug­ges­tions to the operating system – for example, which modules or stories should be loaded to suit the user's behavior at a par­tic­u­lar time. The Google Language Assistant is also part of the AI component, which is being further developed within the framework of the Fuchsia project under the code name Kronk.
Note

Kronk is so far the only component of Fuchsia OS that is not developed as an open source project.

Topaz

Topaz is the system level of Fuchsia OS where users interact with the operating system. Here the user in­ter­faces of the com­po­nents defined on the levels below are displayed: both the graphical user interface with home screen – depending on the device Armadillo or Capybara – and the visual front ends of the modules. Google’s cross-platform open source mobile app framework Flutter is also in­te­grat­ed at this system level. It can therefore be assumed that Fuchsia OS users will in future also be able to run and use apps from other systems – such as Android or iOS apps.

The ad­van­tages and dis­ad­van­tages of Fuchsia OS at a glance

In ac­cor­dance with the modular approach, the de­vel­op­ers of Fuchsia OS have divided the system ar­chi­tec­ture into in­di­vid­ual areas with special tasks. This not only improves the read­abil­i­ty of the code, but also affects the adapt­abil­i­ty and updating of the operating system. Among other things, Google solves the update problem that Android has been strug­gling with for a long time.

Fact

The Android ecosystem is strug­gling with an update problem. A look at the official dis­tri­b­u­tion dashboard shows: New versions of the operating system are spreading slowly. This is a problem that the com­pe­ti­tion doesn’t face. While Apple hardware and software come from the same source and can be adapted straight­away, each Android update must first be im­ple­ment­ed by the various hardware man­u­fac­tur­ers.

In addition, the modular system ar­chi­tec­ture meets the needs of Google’s sales partners, who want to adapt or extend Fuchsia OS according to their own ideas.

Hardware man­u­fac­tur­ers have the pos­si­bil­i­ty to exchange in­di­vid­ual levels of the operating system with their own products without affecting the func­tion­al­i­ty of the other levels. Samsung, for example, could replace Topaz with a self-developed TouchWiz-style user interface. Amazon could forego Peridot and the Google Language Assistant and instead equip Fuchsia OS with an AWS-based app module including Alexa.

In both cases, device man­u­fac­tur­ers could offer in­di­vid­u­al­ized versions of Fuchsia OS without affecting the Zircon and Garnet features or the official update cycles for these layers.

Ad­van­tages Dis­ad­van­tages
Fuchsia OS’s modular system ar­chi­tec­ture allows Google to roll out security updates much faster than Android. Google makes Ledger a core component of Fuchsia OS. Ledger controls the syn­chro­niza­tion of ap­pli­ca­tions across multiple devices, tightly binding the system to the cloud.
Thanks to the modular design, hardware man­u­fac­tur­ers have the pos­si­bil­i­ty to replace in­di­vid­ual system levels of Fuchsia OS with their own modules – without affecting the function of the other levels.

State of de­vel­op­ment

Fuchsia OS is slowly taking shape, but is still far from ready for the market. Even an official release date has not yet been announced by Google. According to media reports, the first hardware tests have already taken place. As the first device man­u­fac­tur­er to test Fuchsia OS, Huawei has suc­cess­ful­ly booted the new operating system on Honor Play. The smart­phone is equipped with the Huawei Kirin-970 chip, which is also used in other devices from this man­u­fac­tur­er, such as the Mate 10, Mate 20, and Mate 20 Pro.

Fuchsia OS demo

Fuchsia OS can be compiled as APK (Android Package) and installed on Android smart­phones and tablets as early on as the de­vel­op­ment stage. The Fuchsia OS demo by Manuel Goulão at mgoulao.github.io">Fuchsia OS demo version shows what it looks like.

If you access the Fuchsia OS demo in your browser, you see a website, which shows the start screen of the operating system. This greets the user with a back­ground image and the current time. In addition, three buttons are available: a button that opens the Wi-Fi settings, the login button for reg­is­tered users, and a guest login.

The demo only allows you to register as a guest.

Reg­is­tered users can access the home screen of Fuchsia OS, which displays all in­for­ma­tion on one page.

The most prominent element on the home screen is a window in the center of the screen that contains the Google search bar, the Google Language Wizard, and the ap­pli­ca­tions installed on the device.

If you start an app (which only makes the demo available as a dummy), you will see that Google has opted for a window-based user interface.

A click on the user image in the middle of the home screen opens a menu with fre­quent­ly used settings.

Fuchsia OS was also ex­ten­sive­ly tested by the editors of Ars Technica, who made the pre-release version run on a pixel book. The following video shows the result of the test:

Watch this video on The Scene.

Go to Main Menu