Wednesday, August 10, 2022

Fuchsia is the future of Google and microkernels

The first appearance of Fuchsia dates back to the summer of 2016, when a piece of code on the GitHub portal revealed plans for an entirely new operating system that could run on a variety of devices, from home automation and the internet of things to smartphones or smartwatches, from infotainment to systems inside cars, and even next-generation smart and connected traffic lights.

Unlike the other two operating systems, Android and Chrome OS, which are based on the Linux kernel (i.e. the core, the most intrinsic and fundamental part), Fuchsia is based on a so-called microkernel, first called Magenta and then Zircon, which enables it to manage a wide variety of devices without problems, from the least to the most powerful. The same philosophy underlies another ambitious operating system set to make its large-scale debut, Huawei’s HarmonyOs.

Fuchsia OS will make its debut in May 2021 on Nest Hub smart displays because it is from less muscular gadgets that it will make its bones, also focusing on Google Cast and Google TV as well as wearables such as smartbands and smartwatches before the big leap on consumer devices such as smartphones or tablets. In practice, users who have received the new operating system on their Nest Hub smart display will not notice any major differences, as the graphical interface will remain the same, since it is still written with the Flutter framework.

This will change when they move to smartphones, for example. There is the possibility of expressing the potential of the new operating system, which also makes security its strong point, in a more extensive and broader manner. Compatibility with the vast number of Android applications is more than likely. Finally, Fucshia’s modular nature means that it can be adapted to the host device by adding the necessary blocks for the required functions, optimizing the source code as best as possible. However, it will still be many years before we can appreciate a mature and widespread version of Fuchsia, which will be released and improved gradually and without haste.

This will change when they move to smartphones, for example. There is the possibility of expressing the potential of the new operating system, which also makes security its strong point, in a more extensive and broader manner. Compatibility with the vast number of Android applications is more than likely. Finally, Fucshia’s modular nature means that it can be adapted to the host device by adding the necessary blocks for the required functions, optimizing the source code as best as possible. However, it will still be many years before we can appreciate a mature and widespread version of Fuchsia, which will be released and improved gradually and without haste.

Courtesy of Google

Zicron is the key

The particularity of Fuchsia lies in its kernel, Zircon, which is a microkernel and therefore differs from other more widely used systems. There are advantages and disadvantages to this approach, which has historically been a source of division among leading figures in the world of computing.

“Kernel” means “kernel” or “seed” and is therefore the heart, the element at the centre of the operating system. The kernel is, in very simplistic terms, the programmer that manages the computer and its resources.

The kernel is the fundamental component of an operating system because it is the program that is responsible for overseeing all the others: nowadays, it allocates processor time to each process, deciding how long it should run before giving the turn to another, and is responsible for managing confidential operations such as allocating memory space, reading and writing from disk, and so on. Older operating systems such as Mac OS used a so-called ‘cooperative’ mode, whereby the application programmer had to explicitly ‘give way’ to other programs.

One problem remains, however: what happens if there is an error in the kernel? This is where the paths diverge: the approach of monolithic kernels, chosen for example by UNIX, BSD and Linux (the latter no longer being truly monolithic for some time now), is to contain all the functionalities within a single block that tries to resolve a possible problem internally and, in the event of failure, simply give up and force a reboot of the machine (for example with a kernel panic); microkernels, on the other hand, move some of the key functionalities to servers outside of the actual kernel so that, if a server crashes, it is possible to restart it without compromising the stability of the entire machine.

To use a metaphor that is not entirely realistic, we can imagine a monolithic kernel as the sole supervisor of a production plant: it manages all the machines, schedules production, carries out maintenance and ensures that everything is done according to the rules; it is extremely efficient and manages to carry out all its tasks very well, but if it falls ill, the plant stops. A microkernel, on the other hand, is a supervisor that gives instructions to various managers: communication with them takes longer than direct execution of the single supervisor, but on the other hand it is possible to replace them without stopping everything.

Courtesy of Google

Zircon is relevant because it is designed to run on multiple devices, from IoT to computers, and is in many ways a replacement for the Linux kernel. Starting from the Nest Hub it can be expected to be used on multiple other devices in the future.

Specifically, Fuchsia could replace Android and Chrome OS as we know them now. As was done for the Nest Hub, so could other devices: the user interface and applications would remain the same, but the system components would change radically. This would give Google more control over the development of the systems, which currently depend on Linux. However, this is only speculation and there is currently not enough evidence that this is Google’s plan, although a 2018 Bloomberg article claims that there is a desire to bring Fuchsia to smartphones and laptops by 2023. That article predicted that Google would launch Fuchsia on IoT devices ‘within three years’, and that prediction turned out to be right, so there is reason to believe that the rest may also be correct.

One particularly interesting aspect of a microkernel approach is that it is theoretically possible to create drivers in user space that do not necessarily require updating if the operating system changes. This would make it possible to have smartphones that are updated for several years even in the absence of support from hardware manufacturers. In this way, Google could theoretically emulate the Windows Phone model, in which it manages system updates itself, overcoming the current extreme fragmentation that characterizes the Android landscape.

For those who are curious, it is already possible to try out Fuchsia and Zircon: dahliaOS is a distribution of Fuchsia that you can try out right now on your own hardware. It is available on the project’s official website, where you can download installable images and consult the list of compatible devices.

Antonino Caffo
Antonino Caffo
I love technology in all its forms but I am particularly interested in consumer devices and cyber security. Quite curious about the new developments of the hyper-connected society. I'm almost always online, if it's not me it's my avatar.

Related Articles

Latest Articles