Google may already have Android, which it acquired in 2005 from Andy Rubin, and also Chrome OS, which it created in-house, but it will soon have a third operating system codenamed “Fuchsia.” The new operating system could work on anything from small embedded devices (IoT) to smartphones and PCs.
Google silently created a public page on GitHub, for the “Fuchsia” (Pink+Purple) operating system, earlier this summer. The project’s Github page also links to one of Google’s domains, where more information is given about it.
Magenta And “Little Kernel”
The new operating system will not use the Linux kernel, as Android and Chrome OS do, but will instead use the “Magenta” kernel. Magenta is built on top of the “Little Kernel” (LK), which is a small kernel designed for embedded devices and a competitor to real-time operating systems such as FreeRTOS or ThreadX.
Even the Linux Foundation is going to support a non-Linux kernel for the Internet of Things (IoT), called Zephyr, so Google’s decision to give up on the Linux kernel may not be as radical as it may first seem. The Linux kernel contains almost 15 million lines of code now, many of which are not needed for Google’s own operating systems.
So many lines of code also represent a large attack surface, and although Linux distributions have generally been considered more secure than Windows and macOS, its maintainers haven’t made security their priority. It’s only recently that the Linux community has started thinking about implementing security mechanisms more aggressively, from which Android will also benefit.
Differences Between Magenta And LK
Magenta differs in many ways from LK. LK was designed for devices with tiny amounts of RAM, for instance, while Magenta will mainly target devices such as smartphones and PCs with much more RAM and much higher processing power. Magenta also supports system processes, while LK does not. However, the Magenta processes are made of LK-level constructs such as threads and memory.
In comparison to LK, Magenta also has first class user-mode support, is an object-handle system, and has a capability-based security model. The security should be similar to Android’s permission model. However, it’s possible it could be stricter, as the new architecture is created from scratch with a “least privilege” security model in mind, rather than being added later on.
Google’s new Fuchsia operating system will support 32-bit and 64-bit ARM devices (including the Raspberry Pi 3), as well as the AMD64 architecture.
Why Does Google Need A New OS?
Considering that Google can’t seem to make up its mind about which chat applications to create and promote, it may seem like Google has a similar problem with operating systems. It already has Chrome OS and Android, along with all of its variations: Brillo (IoT), Android Wear (wearables), Android Auto (car dashboards), and Google TV.
It also plans to merge Chrome OS and Android on the desktop to give Chrome OS a boost in functionality and make it a more serious competitor to Windows, macOS and Linux distros. So then why does Google need yet another OS?
There could be at least three reasons why Google is considering building a new one. The first would be that Google wants one all-encompassing operating system that is slim enough and secure enough to work on anything from IoT devices to PCs. Think of it as a slimmer version of both Android (mobile OS retrofitted for IoT) and Windows (desktop OS retrofitted for mobile and IoT).
Google has gained significant know-how and expertise on building operating systems over the past decade, and it may now want to use all of that knowledge to create a new OS that’s not encumbered by past mistakes and legacy code. It’s a fresh start that can also benefit from all the latest research in developing modern operating systems.
Control Over Programming Language
The second reason could be that Google wants to avoid potential lawsuits in the future (mainly from Oracle) because of its use of the Java programming language on Android. Even without the lawsuits, Google doesn’t have the language development freedom of Apple (Objective-C and Swift) and Microsoft (C#). This is Google’s opportunity to pick a new language over which it has more control.
Google has already created two languages of its own, which it has open sourced: Go and Dart. Google seems to have picked Dart as Fuchsia's main app-developing language, and the company may eventually want all Android developers to switch to making Dart apps.
Sane Update Model
The third reason for creating a new operating system may be that Google wants to control the update system. Android’s update model has been an especially big headache for Google, as it almost doesn’t matter how quickly Google fixes a vulnerability in Android when it’s up to manufacturers and wireless carriers to push those updates at their own leisure.
Chrome OS has escaped this update nightmare scenario because although the core code behind it is open source (Chromium OS), the trademarked Chrome OS itself can be modified only by Google. This gives Google full control over the update cycle as well, which is why we see updates for Chrome OS every six weeks or so.
However, as Google has likely decided that it’s not going to retrofit Chrome OS for smartphones and IoT, it may prefer to create a new OS that can also be updated the same way, but cover many more types of devices.
Can Fuchsia Succeed?
Google is working on all sorts of big projects all the time, so just because it intends to build this new OS, it doesn’t necessarily mean Fuchsia can succeed. Much of its path to success will be in how well the OS works and how good it looks to users. However, Google will also have to find a way to smoothly transition users, developers and manufacturers from Android (as well as Chrome OS) to “Fuchsia” (which likely won’t be its final name).
Android is already used by more than a billion users, and the manufacturers have gotten used to being able to modify the operating system however they want. Although the costs of updating the OS are also a burden for them, so they may be convinced to switch over to the new OS if Google has a great pitch that can win them over.