Fuchsia OS – the future Google Operating System?

Time:2021-8-24

Fuchsia OS – the future Google Operating System?

Google is developing a new operating system: with Fuchsia OS, the technical team abandoned the Linux architecture and relied onSelf developed microkernel zircon。 Fuchsia can not only replace the desktop operating system chrome operating system, but also replace Android designed for mobile devices. Despite the fact that Android is almost unmatched in today’s market.

Is Google Fuchsia the future operating system? We studied the project carefully.

What is Google Fuchsia?

Fuchsia is not only a color between red and blue, but also a modular, permission based service that Google has been developing in public since 2016real-time operating system Name of the. The system uses C, C + +, dart, go and rust, and runs on modern 64 bit Intel ARM processors.

fact

Real time operating system (RTOS) is an operating system that can respond to events and provide processing results immediately or within a predetermined time.

The source code of Fuchsia OS has been obtainedfree use (including BSD, MIT and Apache licenses) and can be publicly owned by GoogleIn Git repositoryAnyone can view and download. This is a comprehensive report on the projectfile

According to the documentation, fuchsia OS is also applicable to smartphones, tablets, laptops and desktops. Since May 2017,ArmadilloIt has become a touch optimized user interface (UI) with a graphical user interface. Google is developing a desktop UI for Fuchsia OS, entitledCapybara。 Since then, there have been rumors that Google is trying to replace almost unparalleled Android.

How does Fuchsia OS work?

Google has opened up a new world in developing Fuchsia OS. It can be said that the company has learned from past mistakes, especially in updating and modifying the limitations and problems of Android and Chrome OS. The main difference from the established Google Operating System: Fuchsia OS is modular from beginning to end. This is reflected not only in the modular system architecture, but also in a new understanding of what an application is.

Modular application design

Google Fuchsia breaks the concept of application based on modular design. The software unit is calledsoftware packagesoftware packageIs a selected file – including metadata, manifest files, and executable elements. The latter is called in Google terminologyassembly

Fuchsia componentsClosest to what we’re talking about today. Each component performs specific tasks and can be combined with other components to program a more complex application. The component consists of a manifest file and related code. Components are always on their ownIn sandboxRun, access objects through namespaces, and publish them through export directories. Fuchsia OS focuses on two types of components:modularmodules)Andagentagents)。

agentsComponents work in the background and provide services for other components.agentsCalled by another component or system – for example, in response to certain triggers (such as push notifications or other screen processing).

modulesAre components with user interface, which are executed in the foreground and visible to users. Each module in the operating system is designed for a specific task and marked accordingly so that it can be accessed automatically when needed. This is done using the functions of the module, and the so-calledverbandnounTo describe.

Each module includes averbsList, indicating the work that the module can perform, and anounsList representing the entities in use. According to Google terminology, an entity includes any uniquely identifiable person, place, thing, event or concept that exists as a structured data object that can be referenced and retrieved, presented, manipulated or shared.

Therefore, in practice, the way to use the real-time operating system Fuchsia is as follows: after the user performs the operation, fuchsia OS will automatically determine the appropriate module for the task. The required actions are translated into a combination of verbs and nouns. Then, the system retrieves the list of all modules that support the required verbs and filters them according to the modules that can also process the required nouns in the next step.

Related modules can be grouped into so-calledstoriesYes.storiesCombining different actions and tasks according to the current requirements enables users to assemble complex applications according to their own ideas and needs.

outline

=With the modular application concept of Fuchsia OS, Google shifted its focus from applications to action and content. Fuchsia’s mission is by the so-calledstoriesInstead of the classic operating system of the currently used application, the component accesses the currently required resources through the module.

The following figure illustrates the modular concept behind Fuchsia OS application development.

Google操作系统Fuchsia OS的模块化结构The application development of Fuchsia OS is based on modular structure.

Modular system architecture

The system architecture of Fuchsia OS is also based on a modular approach. The operating system consists of four more or lessIndependent level composition, eachlevelEach has its own mission: zircon, garnet, Peridot and topaz.

Zircon

Zircon (formerly magenta) is the foundation of the new Google operating system, but strictly speaking, it is not part of Fuchsia OS and can also be used with other operating systems.

Zircon containsFuchsia OSYeskernel, device manager, the core layer 1 device driver and the underlying system library (such as libc and launchpad). In addition, zircon also provides fidl (Fuchsia interface definition language), which is a protocol for inter process communication. Fidl is independent of programming languages, but is different from popular programming languages (such as C, C + +, dart, go, and so on)Rust) has a connection

As the foundation of Fuchsia OS, zircon provides hardware access to subsequent levels, creates software abstraction on shared hardware resources, and acts as a platform for low-level software development. Zircon yesProject Little Kernel(LK)As a result, theprojectAct as a bootstrap for Android.

Garnet

Garnet is the first system layer for Fuchsia based on zircon. It provides various system services at the device level and network, media and graphics services, such as software installation, system management and communication with other systems. Garnet includes graphics renderer Escher, package management and update systemAmberAnd text and code editorsXi

Peridot

Peridot is the operating system level of Fuchsia OS, which manages and compiles modular applications according to current user requirements (see above). The core components of Peridot are ledger and Maxwell.

  • LedgerLedger is a cloud based storage system (distributed storage system), which provides separate data storage for each Fuchsia component (module or agent). This synchronizes between different devices. This allows the user to continue to stay on other Fuchsia devices on the current Fuchsia device.
  • Maxwell: through Maxwell, Google has integrated a component in Fuchsia OS, which will provide users with artificial intelligence. Like Fuchsia, Maxwell has a modular design. The AI system consists of a series of agents that analyze the user’s behavior and what it uses, determine the appropriate information in the background, and forward the suggestions to the operating system – for example, which modules or stories should be loaded to suit the user’s behavior at a specific time. The Google language assistant is also part of the AI component, which will be coded within the framework of the Fuchsia projectKronk’sForm further development.

be careful

So far, kronk is the only component of Fuchsia OS that has not been developed as an open source project.

Topaz

Topaz is the system level of Fuchsia OS, where users can interact with the operating system. The user interface of the components defined at the following levels is displayed here: the graphical user interface with the home screen (depending on the device armadillo or capybara) and the visual front end of the module. Google’s cross platform open source mobile application frameworkFlutterAlso integrated at this system level. Therefore, it can be assumed that fuchsia OS users will also be able to run and use applications of other systems in the future, such as Android or IOS applications.

Fuchsia OS的模块化系统架构Fuchsia OS has four system levels: zircon, garnet, Peridot, and topaz

The advantages and disadvantages of Fuchsia OS are clear at a glance

According to the modular approach, the developers of Fuchsia OS have divided the system architecture into areas with special tasks. This not only improves the readability of the code, but also affectsOperating systemYesAdaptability and renewal。 Among other things, Google has solved the update problem Android has been trying to solve for a long time.

fact

The Android ecosystem is trying to solve the update problem. View officialDistribution dashboard canSee: the new version of the operating system is spreading slowly. This is a problem that rival Apple will not face. Although Apple hardware and software come from the same source and can be modified directly, each Android update must first be implemented by various hardware manufacturers.

In addition, the modular system architecture can meet the needs of Google sales partners, who want to adapt or expand Fuchsia OS according to their own ideas.

Hardware manufacturers can exchange all levels of the operating system with their products without affecting the functions of other levels. For example, Samsung can replace Topaz with its own touchwiz style user interface. Amazon can abandon Peridot and Google language assistant and equip Fuchsia OS with Alexa based AWS based application modules.

In both cases, the equipment manufacturer can providePersonalized Fuchsia OS version,It will not affect the functions of zircon and garnet or the formal update cycle of these layers.

benefit shortcoming
The modular system architecture of Fuchsia OS enables Google to launch security updates faster than Android. Google makes ledger the core component of Fuchsia OS. Ledger controls application synchronization across multiple devices, tightly binding the system to the cloud.
Due to the modular design, hardware manufacturers can replace each system level of Fuchsia OS with their own modules without affecting the functions of other levels.

Development status

Fuchsia OS is slowly taking shape, but it is not ready for launch. Google has not even announced an official release date. According to media reports, the first batch of hardware tests have been carried out. As the first equipment manufacturer to test the Fuchsia operating system, Huawei has successfully launched a new operating system on honor play. The smartphone is equipped with Huawei Kirin 970 chip, which is also used in other devices of the manufacturer, such as mate 10, mate 20 and mate 20 pro.

Fuchsia OS demo

Fuchsia OS can be compiled into APK (Android Software Package) early in the development stage and installed on Android smartphones and tablets. ShouldManuel Goul ã o in mgoulao.github.io “> Fuchsia OS demo Fuchsia OS demoWhat the show looks like.

If you visit the Fuchsia OS demo in your browser, you will see a website with a startup screen for the operating system. This provides the user with a background image and the current time. In addition, three buttons are available: a button to turn on Wi Fi settings, a login button to register users, and a guest login.

This presentation only allows you to register as a visitor.

Armadillo – Fuchsia OS用于移动设备的图形用户界面:开始屏幕Armadillo – Fuchsia OS graphical user interface optimized for touch screen / source:https://mgoulao.github.io/fuchsia-web-demo/

Registered users can accessFuchsia OSYesHome screen, this screen displays all information on one page.

The most prominent element on the home screen is the window in the center of the screen, which contains Google search bar, Google language wizard and applications installed on the device.

Armadillo – Fuchsia OS用于移动设备的图形用户界面:主屏幕With Fuchsia OS, Google abandoned the design with multiple screens, which is common in Android or IOS, but displayed all content on the home screen. Source:https://mgoulao.github.io/fuchsia-web-demo/

If you launch an application that only makes the presentation available as a virtual object, you will see that Google has chosen to be based onWindowedUser interface.

Armadillo – Fuchsia OS用于移动设备的图形用户界面:主屏幕上作为Windows的应用程序The launched application is executed in a separate window and displayed to the user in the form of blocks on the main screen. Source:https://mgoulao.github.io/fuchsia-web-demo/

Clicking on the user image in the middle of the home screen opens a menu with frequently usedset up

Armadillo – Fuchsia OS用于移动设备的图形用户界面:设置Just click to access common settings, such as WiFi and Bluetooth settings, volume and brightness. Source:https://mgoulao.github.io/fuchsia-web-demo/

reference material:

https://www.theverge.com/2020/12/8/22163225/google-fuchsia-os-call-contributors-mailing-list-governance

https://arstechnica.com/gadgets/2020/12/googles-secretive-fuchsia-os-is-open-for-contributions/

https://www.ionos.com/digitalguide/server/tools/fuchsia-os/

It is better to rise and walk than to sit and talk