Google Is Building A New Operating System From Scratch: 'Fuschia'

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?

Starting Over

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.

Lucian Armasu
Lucian Armasu is a Contributing Writer for Tom's Hardware US. He covers software news and the issues surrounding privacy and security.
  • AndrewJacksonZA
    I can see that they're taking inspiration from Marty McFly and Doc Emmett Brown because they're going... BLACK TO THE FUCHSIA!!!

  • johnnycanadian
    ... And say 'goodbye' to BlackBerry. QNX might be the OS of choice for RT systems right now but Chen won't be able to compete with an end-to-end offering from the likes of Google.
  • surphninja
    Hoping they take security more seriously this go around, and maybe multi-tasking. Google concepts don't have a great track record for working out once they're in the hands of real people, and Google is always too busy moving on to the next project, so they never give currently available projects and TLC and properly flesh them out.
  • bit_user
    It's a good idea to get rid of so much legacy and bloat. This also gives them full control over the architecture.

    I don't buy the idea that it has anything to do with Java. You can already use other languages, on Android.

    I also think it's a hard sell for them to get device makers to cede full control over the OS on their devices. That might push a lot of device makers over the edge. Google could pursue a more bifurcated update model, where the kernel and core libraries are updated directly from Google, while device makers control only their custom packages. I don't really know what's would prevent them from doing that with Android, aside from possibly the fact that the Android license would prevent them from forcing device makers to comply.

    Update: it's an interesting point, about the license. What is the license on Magenta? I guess it can't be on Github, if it's not some form of Open Source. I think any license Github allows doesn't prevent one from forking their own version, as people now do with Android.
  • Onus
    Windows is bad enough now, but I would not dream of running an operating system from Google, which is all about ad revenue and data mining, on a PC which has any personal data of any kind on it.
  • JamesSneed
    What about Goobuntu? Not counting open source for Googles OS'es or I guess the fact they didn't create it from scratch but they do have it as well if you are inventorying Google OS'es.
  • bit_user
    18442474 said:
    I would not dream of running an operating system from Google, which is all about ad revenue and data mining, on a PC which has any personal data of any kind on it.
    Okay, but I don't really see what that has to do with the new kernel. I mean, Chrome OS is already PC-oriented, and they could add however much spy-ware they want, on top of any kernel they use.
  • Sakata
    Google takes privacy seriously, just not even remotely as serious as they do money and other social or political benefits. Frankly they are the biggest data broker in existence and we just give it to them.

    To quote a great movie : " The greatest trick the Devil ever pulled was convincing the world he didn't exist. "
  • jackt
    Spying is in the kernel this time ? hahaha
  • Technologify
    Hopefully it will be better than Vista.

    (not hating on Vista)