
Google’s Fuchsia OS on the Pixelbook - dumindunuwan
https://arstechnica.com/gadgets/2018/01/googles-fuchsia-os-on-the-pixelbook-it-works-it-actually-works/
======
drewvolpe
The code is available here:

[https://fuchsia.googlesource.com/](https://fuchsia.googlesource.com/)

Key components:

## Zircon

Zircon is the operating system's foundation: it mediates hardware access,
implements essential software abstractions over shared resources, and provides
a platform for low-level software development.

For example, Zircon contains the kernel, device manager, most core and first-
party device drivers, and low-level system libraries, such as libc and
launchpad. Zircon also defines the Fuchsia IDL (FIDL), which is the protocol
spoken between processes in the system, as well as backends for C and C++. The
backends for other languages will be added by other layers.

## Garnet

Garnet provides device-level system services for software installation,
administration, communication with remote systems, and product deployment.

For example, Garnet contains the network, media, and graphics services. Garnet
also contains the package management and update system.

## Peridot

Peridot presents a cohesive, customizable, multi-device user experience
assembled from modules, stories, agents, entities, and other components.

For example, Peridot contains the device, user, and story runners. Peridot
also contains the ledger and resolver, as well as the context and suggestion
engines.

## Topaz

Topaz augments system functionality by implementing interfaces defined by
underlying layers. Topaz contains four major categories of software: modules,
agents, shells, and runtimes.

For example, modules include the calendar, email, and terminal modules, shells
include the base shell and the user shell, agents include the email and chat
content providers, and runtimes include the Dart andFlutter runtimes.

~~~
Santosh83
I like the naming even more than the architecture! :-)

~~~
frenchie4111
Which component are they going to name Steven?

~~~
carterschonwald
probably their package "universe" ;)

------
Jesus_Jones
There's no point to these early Fuschia review attempts. I don't see how it
demonstrates anything. It's like looking at the famous first email from Linus
Torvald and figuring out what the os would be in the end. So it boots, it has
windows, but not apps, and prints some things to the screen. It tells us
nothing about real intentions, future capabilities, etc.

~~~
groby_b
As somebody who read that famous first email and shared it around her lab: We
were all _tremendously_ excited, and spent days discussing it.

This is the same thing - it's _exciting_. It's trying to do things many of us
have thought of, but never worked on. It's new technology. It's something
that, in our hearts, we want to succeed just because the alternatives are all
grungy and dusty and carry the compatibility fixes of generations.

Of course, if you don't really care about OS technology, or look at it from a
consumer perspective, yeah, it's not giving you anything.

But for engineers who care about OSs? This is amazing and invigorating.

~~~
willtim
It's all written in C++, so from a security and reliability perspective, I'm
sketical it's going to offer much improvement over Linux. I don't see any
evidence yet of "new technology". I'm happy to be proven wrong.

~~~
solarkraft
Of course the programming language defines the architecture ...

~~~
willtim
Programming languages do influence how a problem is solved and this often
affects architecture. This is especially true with respect to concurrency.
However my main problem with C++ is security, not want architectures it
inspires.

------
Unkechaug
What is this supposed to become, exactly? Google hasn't said much about it and
speculators are making big claims like how this will replace ChromeOS and
Android. I don't see that happening any time soon considering how deeply
entrenched both OSes are, but Google's dedication mixed with the lack of
comments makes me think again.

~~~
SllX
Depending on the future direction they take this, it might end up replacing
OpenBSD for me.

Mac OS X and OpenBSD are my daily drivers, but at their core, they are BSDs,
and less and less I find myself using the NeXTSTEP portion of Mac OS X and
more and more time in BSD-land, which is leading me to move more and more of
my overall computer time to OpenBSD which is a great operating system but is
still largely a continuation of the UNIX/POSIX/BSD model which I appreciate
like fine wine but do not love.

If Fuschia ends up being the answer to the question of what would happen if we
built a new operating system from scratch today, taking the best lessons we
were able to learn in the past 50 years, then I might be using it as my daily
driver in 10 years.

Or maybe not. Nobody can really say what it will be right now.

~~~
happyguy43
Don’t hold your breath. The zircon API isn’t innovative in any modern sense.
Additionally it’s bloated and not clean like L4. It’s just in house IP for
Google.

(HN won’t let me directly reply to the comment below so here it is:

Nothing in zircon doesn’t already exist on Linux or any other modern kernel.
Additionally it has bloat, like 3 distinct IPC mechanisms.

Even further, if it ends up being any technical person’s main driving OS it
will surely sport a POSIX API and at that point it’s just another
implementation of POSIX with similar a security model.)

~~~
vesak
You think the lack of technical innovation is what makes products fail? Seems
to me that it's actually the opposite that's true.

~~~
happyguy43
Never said it was going to fail. I just don’t expect it to be more appropriate
as a hacker’s OS than OpenBSD or Linux.

------
s2g
I'm conflicted on this.

I really do like the idea of a challenger to the linux monoculture (among
devs)/the windows monoculture (among consumers), but I really hate the idea of
google getting yet more power.

If it was pretty much anyone else doing this.

~~~
happyguy43
How exactly is Google getting power here? The code is totally open. They just
seem to be giving themselves more flexibility and potential to build better
products.

If anything, this will result in less power over the Linux kernel for Google.
It seems like that’s something you’d appreciate.

(My response to s2g’s reply below because HN is terrible for commenting:

I see your point that they now unilaterally control how the kernel is
engineered, but my counter argument is that I don’t think this meaningfully
changes their control over the platform. They were already free to modify the
Linux kernel at their whim. Having upstream control doesn’t make you emperor
of derived applications.

As a separate point, don’t you think it just results in less efficiency and
worst products if google isn’t free to steer the project in the direction that
makes the most sense for the application? It seems they can more easily make
zircon for their use case, and I think that will result in cheaper and better
phones.)

~~~
cpeterso
Fuschia uses a BSD style license whereas the Linux kernel is GPL. Google or
hardware vendors can modify the Fuschia code without sharing the changes with
the public, for better or worse.

~~~
dragonwriter
Google, as the copyright owner, could do that, or let hardware vendors do so,
even if it was GPL.

BSD-style means that _anyone_ can do that, even Google's competitors, without
any additional permission from Google.

------
vxNsr
I find it fascinating how polished the UI is even as it's missing core
features.

~~~
tensafefrogs
The UI is made with Flutter, which can be used for Android & iOS apps today:
[https://flutter.io/](https://flutter.io/)

~~~
vxNsr
Thanks, that's a cool tool I've begun playing with it and it seems to simplify
a lot of the difficult parts of creating good looking UI on mobile.

------
davesque
Can someone summarize the technical tradeoffs they made in developing this OS
vs. say Windows and Linux for example? Also, anything that is just plain
better and represents recent innovations in OS design?

------
Toidiu
Hi could someone compare fuchsia with redox, mozilla's operating system.

~~~
mercurial
Redox is not "Mozilla's operating system" in any way or form. It is an
immature OS whose primary contributor works at System 76. The only thing
Mozilla-related about it is that it's written in Rust.

------
gjm11
This "review" is the video portion of this Ars Technica article:
[https://arstechnica.com/gadgets/2018/01/googles-fuchsia-
os-o...](https://arstechnica.com/gadgets/2018/01/googles-fuchsia-os-on-the-
pixelbook-it-works-it-actually-works/) which of course does not purport to be
a _review_ of Fuchsia.

~~~
sctb
Thanks! We've updated the link from
[https://www.youtube.com/watch?v=FhX6cANaJ6o](https://www.youtube.com/watch?v=FhX6cANaJ6o).

------
mtgx
Short review: Another OS written in C/C++ that will have a million and one
bugs over the next 3 decades.

~~~
greenhouse_gas
Just want to point out that not that long ago redox-os (the microkernel OS in
Rust) asked people to test it.

People were able to kernel panic it, get privilege escalations, and DDoS it.
In short, it had the same same issues a C based kernel would get.

It's true that it's still heavily in development and doesn't offer any
guarantees whatsoever, but I think that it should be pointed out that just
because your language is good, doesn't mean that your end result will be good
(and vice-versa, C based kernels like l4 and C based projects like SQLite have
been formally verified (at least SQLite was verified _after_ _compilation_ ,
so they check for undefined language constructs.))

~~~
peoplewindow
Can you link to that? I'd be curious to see how they did those things. I guess
Redox has a lot of unsafe Rust code?

~~~
dtolnay
Here is the "Redox Crash Challenge":

[https://github.com/redox-os/redox/issues/1136](https://github.com/redox-
os/redox/issues/1136)

According to the Redox book, at last count they had 70 cases of unsafe across
4500 total lines of kernel code.

[https://doc.redox-os.org/book/introduction/unsafes.html](https://doc.redox-
os.org/book/introduction/unsafes.html)

