Thinking About Google Fuchsia (Premium)

For the past few years, Google has been quietly working on a new operating system called Fuchsia which many believe could replace Android. Details remain thin, but the available information hints at some interesting possibilities.

Like many of you, I've been curious about Fuchsia since the project silently showed up on Git in August 2016. Those examining the available source code quickly found that it was a Google OS platform that would span a variety of device types, from "dash infotainment systems for cars, to embedded devices like traffic lights and digital watches, all the way up to smartphones, tablets, and PCs."

If you think that sounds like Android---or, more aptly, Linux---you're not alone. But here's the thing: Fuchsia is not based on Linux. It's based on a new kernel called Zircon. Previously codenamed Magenta (which was no doubt the inspiration for the Fuchsia name), this kernel uses a microkernel architecture that differs from the monolithic kernel in Linux.

Why on earth would Google be creating a new platform that seems to offer the same scale as the Linux kernel does today? After all, Linux has already eaten the world. Even Microsoft has adopted Linux for its Azure Sphere OS because Windows is simply too big.

I'm beginning to wonder if Google's push past Linux doesn't mirror Microsoft's own push to Linux. That is, it's possible that even Linux doesn't scale enough to meet Google's needs. And Fuchsia is its attempt to go beyond what's possible with that platform.

I'm not a hardware expert, of course, let alone a kernel expert. But as part of a new round of Linux research, I've been reading a book called For Fun and Profit: A History of the Free and Open Source Software Revolution that touches on this topic. Linus Torvalds' decision to create Linux was triggered by a number of factors, but one of them was that Minix, the inspiration for Linux, was built on a microkernel architecture that Mr. Torvalds found to be technically inferior. And so he designed Linux with a monolithic kernel.

Put simply, monolithic kernels keep all kernel services in the kernel address space. But microkernels are more componentized, with some core services running outside the kernel address space (in user space) and using messages to communicate across that barrier. Apple's macOS (formerly OS X) uses a microkernel architecture. So does Windows. In fact, one of the earlier controversies in Windows, back in the NT days, involved Microsoft's decision to move key kernel activities like graphics outside of the kernel for performance reasons.

The monolithic kernel/microkernel debate is one for the ages, I guess, but it is notable, I think, that Fuchsia uses a microkernel. I have to believe that Google saw the benefits of such an architecture, and that it provides some benefit over Linux.

At a higher level, Fuchsia's user interface and apps are written with Flutter. You may recall that I wrote about Flutter in February: This is Goog...

Gain unlimited access to Premium articles.

With technology shaping our everyday lives, how could we not dig deeper?

Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.

Tagged with

Share post

Please check our Community Guidelines before commenting

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC