HOME

TheInfoList



OR:

Fuchsia is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
capability-based
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
developed by
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
. In contrast to Google's
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
-based operating systems such as
ChromeOS ChromeOS, sometimes styled as chromeOS and formerly styled as Chrome OS, is an operating system designed and developed by Google. It is derived from the open-source operating system and uses the Google Chrome web browser as its principal user ...
and Android, Fuchsia is based on a custom kernel named Zircon. It publicly debuted as a self-hosted
git Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively. Design goals of Git include speed, data integrity, and suppor ...
repository in August 2016 without any official corporate announcement. After years of development, its official product launch was in 2021 on the first-generation Google Nest Hub, replacing its original
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
-based Cast OS.


Etymology

Fuchsia is named for the color fuchsia, which is a combination of pink and purple. The name is a reference to two operating systems projects within
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
which influenced team members of the Fuchsia project:
Taligent Taligent Inc. (a portmanteau of "talent" and "intelligent") was an American software company. Based on the Pink object-oriented operating system conceived by Apple in 1988, Taligent Inc. was incorporated as an Apple/IBM partnership in 1992, and ...
(
codename A code name, codename, call sign, or cryptonym is a code word or name used, sometimes clandestinely, to refer to another name, word, project, or person. Code names are often used for military purposes, or in espionage. They may also be used in ...
d "Pink") and
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
(codenamed "Purple"). The color-based naming scheme derives from the colors of index cards which Apple employees used to organize their ideas. The name of the color fuchsia is derived from the Fuchsia plant genus, which is derived from the name of botanist
Leonhart Fuchs Leonhart Fuchs (; 17 January 1501 – 10 May 1566), sometimes spelled Leonhard Fuchs and cited in Latin as ''Leonhartus Fuchsius'', was a German physician and botanist. His chief notability is as the author of a large book about plants and thei ...
.


History

In August 2016, media outlets reported on a mysterious
source code In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
repository published on
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
, revealing that
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
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 light Traffic lights, traffic signals, or stoplights – also known as robots in South Africa, Zambia, and Namibia – are signaling devices positioned at intersection (road), road intersections, pedestrian crossings, and other locations in order t ...
s, digital watches,
smartphone A smartphone is a mobile phone with advanced computing capabilities. It typically has a touchscreen interface, allowing users to access a wide range of applications and services, such as web browsing, email, and social media, as well as multi ...
s, tablets, and PCs. Its architecture differs entirely from the
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
-based Android and ChromeOS due in part to its unique Zircon kernel, formerly named Magenta. In May 2017, ''
Ars Technica ''Ars Technica'' is a website covering news and opinions in technology, science, politics, and society, created by Ken Fisher and Jon Stokes in 1998. It publishes news, reviews, and guides on issues such as computer hardware and software, sci ...
'' wrote about Fuchsia's new
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
, an upgrade from its
command-line interface A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
at its first reveal in August. A developer wrote 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". 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. 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 its problems. In January 2018, Google published a guide on how to run Fuchsia on Pixelbooks. This was implemented successfully by ''Ars Technica'', where experts were impressed with the progress, noting that things were then working, and were especially pleased by the hardware support and multiple mouse pointers. A Fuchsia device was added to the Android ecosystem in January 2019 via the
Android Open Source Project Android is an operating system based on a modified version of the Linux kernel and other open-source software, designed primarily for touchscreen-based mobile devices such as smartphones and tablets. Android has historically been developed by ...
(AOSP). Google talked about Fuchsia at
Google I/O Google I/O, or simply I/O, is an annual developer conference held by Google in Mountain View, California. The name "I/O" is taken from the number googol, with the "I" representing the first digit "1" in a googol and the "O" representing the s ...
2019.
Hiroshi Lockheimer Hiroshi Lockheimer (born 1975) is a Japanese-American software engineer and business executive. He is one of the founding members of the Android team at Google, which was created after Google acquired the mobile operating system. At Google, Lo ...
, Senior Vice President of Chrome and Android, described it as one of Google's experiments around new operating system concepts. On July 1, 2019, Google announced the official website of the development project with source code and documentation. Roughly a year and a half later, on December 8, 2020, Google announced that it was "expanding Fuchsia's open-source model" including making
mailing list A mailing list is a collection of names and addresses used by an individual or an organization to send material to multiple recipients. Mailing lists are often rented or sold. If rented, the renter agrees to use the mailing list only at contra ...
s public, introducing a governance model, publishing a roadmap, and using a public issue tracker. In May 2021, Google employees confirmed that Fuchsia had been deployed in the consumer market for the first time, within a software update to the first-generation Google Nest Hub that replaces its existing
Chromecast Chromecast is a discontinued line of digital media players developed by Google. The devices, designed as small dongles, can play Internet-streaming media, streamed audio-visual content on a high-definition television or home audio system. The u ...
-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. Around February 21, 2022, the Chrome browser was fully working on Fuchsia. In January 2023, Google announced layoffs across the company with 16% of Fuchsia employees being impacted. In May 2023, Google began rolling out a Fuchsia-based update to the second-generation Google Nest Hub.


Overview


UI and mobile apps

Fuchsia's
user interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
and apps are written in Flutter, a
software development kit A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific t ...
allowing cross-platform development abilities for Fuchsia, Android, and
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
. Flutter produces apps from Dart. Escher is the
Vulkan Vulkan is a cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and o ...
-based
graphics Graphics () are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of the data, as in design and manufa ...
rendering engine, with specific support for "volumetric soft shadows", an element that ''Ars Technica'' wrote, "seems custom-built to run Google's shadow-heavy '
Material Design Material Design (codename Quantum Paper) is a design language developed by Google in 2014. Expanding on the "cards" UI that debuted in Google Now, Material Design uses more grid-based layouts, responsive animations and transitions, padding, an ...
' interface guidelines". The Flutter cross-platform software development kit allows users to install parts of Fuchsia on Android devices. A special version of
Android Runtime Android Runtime (ART) is an application runtime environment used by the Android operating system. Replacing Dalvik, the process virtual machine originally used by Android, ART performs the translation of some of the application's bytecode i ...
for Fuchsia is planned to run from a FAR file, the equivalent of the Android APK.


Kernel

Fuchsia is based on a new object-capability kernel, named Zircon after the mineral. Its
codebase In software development, a codebase (or code base) is a collection of source code used to build a particular software system, application, or software component. Typically, a codebase includes only human-written source code system files; thu ...
was derived from that of Little Kernel (LK) for
embedded device An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or Electronics, electronic syst ...
s, aimed for low-resource uses on a wide variety of devices. LK was developed by Travis Geiselbrecht, who had also co-authored the NewOS kernel used by
Haiku is a type of short form poetry that originated in Japan. Traditional Japanese haiku consist of three phrases composed of 17 Mora (linguistics), morae (called ''On (Japanese prosody), on'' in Japanese) in a 5, 7, 5 pattern; that include a ''kire ...
, a free software reimplementation of
BeOS BeOS is a discontinued operating system for personal computers that was developed by Be Inc. It was conceived for the company's BeBox personal computer which was released in 1995. BeOS was designed for multitasking, multithreading, and a graph ...
. Zircon is written mostly in C++, with some parts in C and
assembly language In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
. It is composed of a kernel with a small set of user services, drivers, and
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
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 In computing, virtual memory, or virtual storage, is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a ver ...
,
inter-process communication In computer science, interprocess communication (IPC) is the sharing of data between running Process (computing), processes in a computer system. Mechanisms for IPC may be provided by an operating system. Applications which use IPC are often cat ...
, and waiting for changes in the state of objects. It is heavily inspired by
Unix Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
kernels, but differs greatly. For example, it does not support
Unix-like A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
signals, but incorporates
event-driven programming In computer programming, event-driven programming is a programming paradigm in which the Control flow, flow of the program is determined by external Event (computing), events. User interface, UI events from computer mouse, mice, computer keyboard, ...
and the
observer pattern In software design and software engineering, the observer pattern is a software design pattern in which an object, called the ''subject'' (also known as ''event source'' or ''event stream''), maintains a list of its dependents, called observers (a ...
. Most system calls do not block the main thread. Resources are represented as objects rather than files, unlike traditional Unix systems in which
everything is a file "Everything is a file" is an approach to interface design in Unix derivatives. While this turn of phrase does not as such figure as a Unix design principle or philosophy, it is a common way to analyse designs, and informs the design of new interfa ...
.


References


External links

* * {{Mobile operating systems 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 x86-64 operating systems