Fuchsia (operating system)
Fuchsia is an open-source capability-based operating system developed by Google. In contrast to prior Google-developed operating systems such as Chrome OS and Android, which are based on the Linux kernel, Fuchsia is based on a new kernel named Zircon. It first became known to the public when the project appeared on a self-hosted git repository in August 2016 without any official announcement. After years of development, Fuchsia was officially released to the public on the first-generation Google Nest Hub, replacing its original Cast OS.

Etymology 
The name "Fuchsia" is a reference to the color of the same name, which itself is a combination of the color pink (also the codename of Apple Pink) and purple (also the codename of the first-generation iPhone).

History 
In August 2016, media outlets reported on a codebase post published on GitHub, revealing that Google was developing a new operating system named Fuchsia. No official announcement was made, but inspection of the code suggested its capability to run on various devices, including "dash infotainment" systems for cars, embedded devices like traffic lights, digital watches, smartphones, tablets and PCs. The code differs from Android and Chrome OS due to its being based on the Zircon kernel (formerly named Magenta) rather than on the Linux kernel.

In May 2017, Ars Technica wrote about Fuchsia's new user interface, an upgrade from its command-line interface at its first reveal in August, along with a developer writing that Fuchsia "isn't a toy thing, it's not a 20% Project, it's not a dumping ground of a dead thing that we don't care about anymore". Multiple media outlets wrote about the project's seemingly close ties to Android, with some speculating that Fuchsia might be an effort to "re-do" or replace Android in a way that fixes problems on that platform.

In January 2018, Google published a guide on how to run Fuchsia on Pixelbooks. This was followed successfully by Ars Technica.

A Fuchsia "device" was added to the Android ecosystem in January 2019 via the Android Open Source Project (AOSP). Google talked about Fuchsia at Google I/O 2019. Hiroshi Lockheimer, Senior Vice President of Chrome and Android, described Fuchsia as one of Google’s experiments around new concepts for operating systems.

On July 1, 2019, Google announced the official website of the development project providing source code and documentation for the operating system. Roughly a year and a half later, on December 8, 2020, Google announced that they were "expanding Fuchsia's open-source model" including making mailing lists public, introducing a governance model, publishing a roadmap and would be using a public issue tracker.  

In May 2021, Google employees confirmed that it had deployed Fuchsia in the consumer market for the first time, within a software update to the first-generation Google Home Hub that replaces its existing Chromecast-based software. The update contains no user-facing changes to the device's software or user interface. After the initial wave of updates to preview devices, the update was rolled out to all Nest Hub devices in August 2021.

Overview 
The GitHub project suggested Fuchsia can run on many platforms, from embedded systems to smartphones, tablets, and personal computers. In May 2017, Fuchsia was updated with a graphical user interface, along with a developer writing that the project was not a "dumping ground of a dead thing", prompting media speculation about Google's intentions with the operating system, including the possibility of it replacing Android. On July 1, 2019 Google announced the homepage of the project, fuchsia.dev, which provides source code and documentation for the newly announced operating system.

Fuchsia's user interface and apps are written with Flutter, a software development kit allowing cross-platform development abilities for Fuchsia, Android and iOS. Flutter produces apps based on Dart, offering apps with high performance graphics that run at 120 frames per second. Fuchsia also offers a Vulkan-based graphics rendering engine called Escher, with specific support for "Volumetric soft shadows", an element that Ars Technica wrote, "seems custom-built to run Google's shadow-heavy 'Material Design' interface guidelines".

Due to the Flutter software development kit offering cross-platform opportunities, users are able to install parts of Fuchsia on Android devices.

In 2017, Ars Technica noted that, though users could test Fuchsia, nothing "works", because "it's all a bunch of placeholder interfaces that don't do anything". They found multiple similarities between Fuchsia's interface and Android, including a Recent Apps screen, a Settings menu, and a split-screen view for viewing multiple apps at once. In a 2018  review, Ars Technica experts were impressed with the progress, noting that things were then working, and were especially pleased by the hardware support. One of the positive surprises was support for multiple mouse pointers.

A special version of Android Runtime for Fuchsia is planned to run from a FAR file, the equivalent of the Android APK.

Kernel 
Fuchsia is based on a new message passing kernel named Zircon, after the mineral zircon. Zircon's codebase was derived from that of Little Kernel (LK), a kernel for embedded devices, aimed for low resource uses, to be used on a wide variety of devices. LK was developed by Travis Geiselbrecht, who had also co-authored the NewOS kernel used by Haiku.

Zircon is written mostly in C++, with some parts in assembly language. It is composed of a kernel with a small set of user services, drivers, and libraries which are all necessary for the system to boot, communicate with the hardware, and load the user processes. Its present features include handling threads, virtual memory, processes intercommunication, and waiting for changes in the state of objects.

It is heavily inspired by Unix kernels but differs greatly. For example, it does not support Unix-like signals but incorporates event-driven programming and the observer pattern. Most system calls do not block the main thread. Resources are represented as objects rather than files, unlike traditional Unix systems.

References

External links 

2016 software
C++ software
Capability systems
Embedded operating systems
Free software operating systems
Free software programmed in C
Free software programmed in Go
Free software programmed in Rust
Fuchsia
Fuchsia
Software using the Apache license
Software using the BSD license
Software using the MIT license
Upcoming software
x86-64 operating systems