Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

FUCHSIA

Abstract:
Fuchsia is a capability-based, real-time operating system (RTOS) currently being
developed by Google. Fuchsia is an evolving pile of code. It was first discovered as a
mysterious code post on GitHub in August 2016, without any official announcement. In
contrast to prior Google developed operating systems such as Chrome OS
(Google's desktop and laptop OS) and Android (Google's mobile OS), which are based
on Linux kernels.

Fuchsia is based on a new microkernel called "Zircon", derived from "Little Kernel", a
small operating system intended for embedded systems, which was developed by Travis
Geiselbrecht, a creator of NewOS kernel used by Haiku OS. Upon inspection, media outlets
noted that the code post on GitHub suggested Fuchsia's capability to run on universal devices,
from embedded systems to smartphones, tablets and personal computers.

In May 2017, Fuchsia was updated with a user interface, along with a developer writing
that the project was not a "dumping ground of a dead thing", prompting media speculatio n
about Google's intentions with the operating system, including the possibility of it replacing
Android.

Possibly android is riddled with problems that Google has yet to fix.

First, there's fragmentation caused by hundreds of different devices from dozens of


manufacturers using different, tweaked versions of android rather than the latest, pure version.
Second, there's an update problem. Google has an annual release schedule for Android updates,
but it takes about four years for an update to fully flood the ecosystem.

Key Words:
Real time operating system, micro kernel, little kernel.

1
1. INTRODUCTION

1.1 WHAT IS FUCHSIA :


Fuchsia is a capability-based, real-time operating system (RTOS) currently being
developed by Google. Fuchsia is an evolving pile of code. It was first discovered as a
mysterious code post on GitHub in August 2016, without any official announcement. In
contrast to prior Google developed operating systems such as Chrome OS
(Google's desktop and laptop OS) and Android (Google's mobile OS), which are based
on Linux kernels.

Fuchsia is based on a new microkernel called "Zicron", derived from "Little Kernel", a
small operating system intended for embedded systems, which was developed by Travis
Geiselbrecht, a creator of New OS kernel used by Haiku OS. Upon inspection, media outlets
noted that the code post on GitHub suggested Fuchsia's capability to run on universal devices,
from embedded systems to smartphones, tablets and personal computers.

In May 2017, Fuchsia was updated with a user interface, along with a developer writing
that the project was not a "dumping ground of a dead thing", prompting media speculatio n
about Google's intentions with the operating system, including the possibility of it replacing
Android.

Possibly android is riddled with problems that Google has yet to fix.

 First, there's fragmentation caused by hundreds of different devices from dozens of


manufacturers using different, tweaked versions of android rather than the latest, pure
version.
 Second, there's an update problem. Google has an annual release schedule
for Android updates, but it takes about four years for an update to fully flood the
ecosystem.
 Third, A lack of focus on smooth UI performance.

2
1.2 HISTORY FUCHSIA :
Android is a mobile operating system developed by Google, based on a modified version of
the Linux kernel and other open source software and designed primar ily
for touchscreen mobile devices such as smartphones and tablets. In addition, Google has
further developed Android TV for televisions, Android Auto for cars, and Android Wear for
wrist watches, each with a specialized user interface. Variants of Android are also used
on game consoles, digital cameras, PCs and other electronics.
Initially developed by Android Inc., which Google bought in 2005, Android was unveiled in
2007, with the first commercial Android device launched in September 2008. The operating
system has since gone through multiple major releases, with the current version being 8.1
"Oreo", released in December 2017.
Android has been the best-selling OS worldwide on smartphones since 2011 and on tablets
since 2013. As of May 2017, it has over two billion monthly active users, the largest installed
base of any operating system, and as of 2017, the Google Play store features over 3.5 millio n
apps.

Chrome OS is an operating system designed by Google that is based on the Linux kernel and
uses the Google Chrome web browser as its principal user interface. As a result, Chrome OS
primarily supports web applications.
Google announced the project in July 2009, conceiving it as an operating system in which both
applications and user data reside in the cloud: hence Chrome OS primarily runs web
applications. Source code and a public demo came that November. The first Chrome OS laptop,
known as a Chromebook, arrived in May 2011. Initial Chromebook shipments
from Samsung and Acer occurred in July 2011.
Chrome OS has an integrated media player and file manager. It supports Chrome Apps, which
resemble native applications, as well as remote access to the desktop. A few Android
applications have been available for the operating system since 2014. Reception was initia lly
skeptical, with some observers arguing that a browser running on any operating system was
functionally equivalent. As more Chrome OS machines have entered the market, the operating
system is now seldom evaluated apart from the hardware that runs it.
Chrome OS is only available pre-installed on hardware from Google manufacturing partners.
An open source equivalent, Chromium OS, can be compiled from downloaded source code.
Early on, Google provided design goals for Chrome OS, but has not otherwise released a
technical description.

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

3
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 November 2017, initial support for the Swift programming language was committed.
In January 2018, Google published a guide how to run Fuchsia on Pixelbooks. This was done
successfully by Ars Technica.

4
2. ABOUT THE PROJECT

2.1 REASON FOR STARTING FUCHIA:


Google makes the world’s most popular smartphone operating system, called Android. It also
has an OS for computers called the Chrome OS as well as a software called Android Wear for
wearable devices, such as smartwatches, apart from Android TV, CarPlay and On Hub. But the
answer to unlocking this mystery could actually be hidden in these three operating systems —
they are basically built on the open-source operating system called Linux. Fuchsia, on the other
hand, is not. Because of which google is paying huge amount of money for Linux every year
as they are using it.
Fuchsia opts for a different kernel to create a lightweight OS. It is believed that Google is using
Zicron (Magenta), a “medium-sized microkernel” that itself is based on a project called
LittleKernel. The idea is to build a leaner and equally capable OS compared to the current ones.
Magenta is designed for scale, and can work on a variety of devices such as smartphones and
PCs.
Unlike Android OS or Chrome OS, both of which are based on Linux, Fuchsia is built on
Zicron (formerly Magenta), a new kernel created by Google. Meanwhile, Armadillo is built in
Google’s Flutter SDK, which is used to create cross-platform code capable of running on
multiple operating systems. With Armadillo, different cards can be dragged around for use in
a split-screen or tabbed interface.
The current school of thought is that Fuchsia is a new OS that could unify Chrome OS
and Android into a single operating. Reports have claimed that OS will release in 2017. That
said, Google's own documentation describes the software as targeting "modern phones and
modern personal computers" with "fast processors" and "non-trivial amounts of RAM."
Fuchsia is also built on Zicron, a "medium-sized microkernel" based on a project called
LittleKernel, which is meant for embedded systems, such as a device that has a specific purpose
but doesn't require a whole OS, like a router or watch. Also, the two developers listed on
Fuchsia's GitHub page - a senior software engineer at Google and a former engineer
on Android TV and Nexus Q - are well-known experts in embedded systems.
Furthermore, Google's documentation notes Zicron supports user modes, graphics rendering,
and a "capability-based security model". Although all this points to Fuchsia being an OS for
Wi-Fi connected gadgets, Google already has an IoT platform called Android Things.
Also, Ars Technica has compiled the Armadillo system UI, and it seems like Fuchsia is
intended to be a smartphone or tablet OS.
There is also a confirmation from developers that Fuchsia is not merely a toy thing at Google.
If we had to speculate, we'd say Google has a specific goal in mind for Fuchsia that it's keeping
totally secret for now.
But Why Google? Experts says that, Linux Kernel is not ideal for every situation. Especially
in the case of embedded devices like car dashboards or GPS units, full-blown desktop kernels
like Linux impact performance and cause other issues. There’s a massive ecosystem of
operating systems designed for embedded hardware, and Google may be working on their own.

5
Fuchsia is based on Magenta Kernel which is developed based on the LittleKernel project. So,
Fuchsia will be using Magenta Kernel like Android on Linux Kernel. Unlike Linux, Magenta
Kernels are designed to scale much better, enabling Magenta to work on embedded devices
like car dashboard, refrigerator, smartphones, and desktop computers. With cars and home
appliances getting smarter day by day, Google is finding a future in Embedded OSes. With this
approach, Google is try to put a tight competition to commercial embedded OSes, such
as FreeRTOS or ThreadX.Google is secretly trying to improve upon their Material Design
thing and trying to make an ideal Operating System which looks great, functions well using
less resources. Some what like the iOS.

2.2 WHY DID THEY CHOOSE THIS NAME:

“Pink + Purple == Fuchsia (a new Operating System)”


In fuchsia we use different operating systems to create a new operating system, simply like
both colours (pink and purple) forming a new colour (Fuchsia), they are mixing two operating
systems (chrome os & android) to form a new operating system (Fuchsia), so they chose that
name as FUCHSIA.

6
3. DESCRIPTION OF PROJECT
3.1 GENERAL DESCRIPTION:
The OS is built on Zicron, a "medium-sized microkernel" that is itself based on a project called
Little Kernel, which is designed to be used in embedded systems (computers that have a
specialized function and often don't need an actual operating system, like the software in a
digital watch). Similarly, both of the developers listed on Fuchsia's GitHub page — Christopher
Anderson and Brian Swetland — are experts in embedded systems. Swetland is a senior
software engineer at Google and Anderson has previously worked on the company's Android
TV and Nexus Q projects.

However, the Magenta kernel can do a lot more than just power a router. Google's
own documentation says the software "targets modern phones and modern personal
computers" that use "fast processors" and "non-trivial amounts of RAM." It notes that Magenta
supports a number of advanced features, including user modes and a "capability-based security
model." Further evidence that Fuchsia is intended for more than just Wi-Fi-connected gadgets
include the fact that Google already has its own IoT platform (the Android-based Brillo), and
the fact that the new OS includes support for graphics rendering. Some users of Hacker
News have even suggested that Fuchsia could be use for augmented reality interfaces. (Google
itself has yet to respond to requests for comment.)

This is just speculation for now, and the only Real description we have of Fuchsia is what it
says at the top of the GitHub page: "Pink + Purple == Fuchsia (a new Operating System)." The
question of why the project would be revealed in this way is also confusing, although when
pressed on the subject during an IRC chat, Swetland reportedly said: "The decision was made
to build it open source, so might as well start there from the beginning."

Well, we've certainly got the beginning of Fuchsia, but where it goes next isn't clear. From
what we can see, it's currently being tested on all sorts of systems. Swetland says it's "booting
reasonably well" on small-form factor Intel PCs (NUCs) as well as an Acer Switch Alpha 12
laptop ("although driver support is still a work in progress"), while another Google developer
involved in the project, Travis Geisel Brecht, says they'll soon have support for the Raspberry
Pi 3. At this rate, it looks like Fuchsia will be popping up all over the place.

3.2 ZICRON KERNEL:

Zircon is the core platform that powers the Fuchsia OS. Formerly Zicron is called as Magenta
kernel. Zicron is micro kernel derived from little kernel. Zircon is composed of a microkerne l
as well as a small set of user space services, drivers, and libraries necessary for the system to
boot, talk to hardware, load user space processes and run them, etc. Fuchsia builds a much
larger OS on top of this foundation.

The Zircon Kernel provides system calls to manage processes, threads, virtual memory, inter-
process communication, waiting on object state changes, and locking.

7
Currently there are some temporary syscalls that have been used for early bring up work, which
will be going away in the future as the long term syscall API/ABI surface is finalized. The
expectation is that there will be about 100 syscalls.

3.3 MICRO KERNEL:

In computer science, a microkernel (also known as μ-kernel) is the near-minimum amount


of software that can provide the mechanisms needed to implement an operating system (OS).
These mechanisms include low-level address space management, thread manageme nt,
and inter-process communication (IPC).
If the hardware provides multiple rings or CPU modes, the microkernel may be the only
software executing at the most privileged level, which is generally referred to as supervisor or
kernel mode. Traditional operating system functions, such as device drivers, protocol
stacks and file systems, are typically removed from the microkernel itself and are instead run
in user space.
In terms of the source code size, as a general rule microkernels tend to be smaller
than monolithic kernels. The MINIX 3 microkernel, for example, has approximately 12,000
lines of code.

3.4 LITTLE KERNEL:

LK (Little Kernel) is a tiny operating system suited for small embedded devices, bootloaders,
and other environments where OS primitives like threads, mutexes, and timers are needed, but
there’s a desire to keep things small and lightweight. On embedded ARM platforms the core
of LK is typically 15-20 KB.

LK is the Android bootloader and is also used in Android Trusted Execution Environment -
"Trusty TEE" Operating System. Newer Android phones have some chance of LK running all
the time alongside Linux. A few ARM SoC manufacturers use LK as their default bootloader
such as Dragon Board 410c based on Qualcomm Snapdragon 410 processor.

The Fuchsia Operating System’s microkernel, Zircon is based on LK.

8
4. FUCHSIA USER INTERFACE
4.1 Armadillo:
The first thing you’ll notice when you log in is that Material Design is here in a big way.
Fuchsia uses its own special renderer, Escher, that specializes in shadows. Your windows,
notifications, buttons, pop up boxes, and more are all cleanly layered, giving a depth to your
view. Your wallpaper feels less like a picture hiding flatly behind your applications and more
like a view out of a nearby window.
Fuchsia currently offers two layouts: a novel mobile-centric design codenamed Armadillo, and
a more traditional desktop experience codenamed Capybara. Armadillo drops the app drawer
and shortcuts model for a combined view of Recent Apps, Quick Settings, and your Google
Feed. Capybara is still very much a work-in-progress, with only a taskbar containing the time,
a placeholder for quick settings, and something reminiscent of a start button. You can check
out our look at Armadillo from last year in the presentation.
Every application you open is in its own card, or you can combine multiple apps into one shared
card. Some suggestions from your Feed will directly open two apps in one card to offer a
combined action. Overall, it’s an interesting evolution of the traditional app-home-screen
model, which seems to put the focus on actual tasks rather than individual apps.
Armadillo, This all leads us to an interesting point right now: the Fuchsia interface is written
with the Flutter SDK, which is cross-platform. This means that, right now, you can grab chunks
of Fuchsia and run it on an Android device. Fuchsia first went public in August 2016, and but
back then compiling it would get you nothing more than a command line. Thanks
to Hotfixit.net for pointing out that the Fuchsia System UI, called "Armadillo" is actually pretty
interesting now.
It's possible to download the source and compile Fuchsia's System UI into an Android APK
and install it on an Android device. It consists of a wild reimagining of a home screen along
with a keyboard, a home button, and (kind of) a window manager. Nothing really "works"—
it's all a bunch of placeholder interfaces that don't do anything. There's also a great readme in
the Fuchsia source that describes what the heck is going on.
The home screen is a giant vertically scrolling list. In the centre you'll see a (placeholder)
profile picture, the date, a city name, and a battery icon. Above there are "Story" cards basically
Recent Apps and below it is a scrolling list of suggestions, sort of like a Google Now
placeholder. Leave the main screen and you'll see a Fuchsia "home" button pop up on the
bottom of the screen, which is just a single white circle.
The center profile picture can be tapped on, and here you'll bring up a menu that's a bit like
Android's Quick Settings. The top row of icons shows the battery and connectivity. Below that
you'll get sliders for volume and brightness, and icons for airplane mode, do not disturb, and
auto rotate. You can interact with the buttons and sliders, but they won't actually do anything
on Android. Below that are buttons labeled "log out" and "more," which don't work at all.

9
Above the profile section are a bunch of cards labeled "Story [something]." The readme
describes stories as "a set of apps and/or modules that work together for the user to achieve a
goal." That seems pretty close to a recent apps list, maybe (eventually) with some kind of
grouping feature. Tapping on any card will load it as a full-screen interface, and since one is
labeled "email," it's pretty obvious that these are apps. The list is sorted by "last opened" so the
most recently-used cards will sit at the bottom of the list.
This list also has some window-management features. You can long press on a card and drag
it around, and if you drop it on top of another app, it will trigger a split screen mode. The split
screen system seems really capable, and probably needs to be reigned in a bit. You can do a
50/50 split vertically or horizontally. You can drag in a third app and 33/33/33 split horizonta lly
or vertically, or a 50/50 split next to a full-height app, or a have a tab bar appear for the three
full screen interfaces. You can drag in four apps and do a 75/25 split on one side of the screen
and 25/75 on the other, and then you can keep dragging in apps until the whole thing crashes.
Go back the story list and you'll see your split screen layout is reflected in the card, too, which
is nice.
The bottom "Google Now" panel starts with a search bar mockup. Tapping on it will bring up
a keyboard, but this is not the Android system keyboard, and it is instead a custom Fuchsia
interface. It has a new, dark theme, and things like long-pressing for symbols or settings do not
work. Below that appears to be Google Now, which has several "suggestion" cards. They seem
to be a little different than Google Now's news, weather, and calendar suggestions though, with
the docs saying "Conceptually a suggestion is a representation of an action the user can take to
augment an existing story or to start a new one." That almost makes it seem like an app launcher
With any new project at Google, it's hard to know what the scale of the project will be. Is this
a "20 percent" project that will be forgotten about in a year or something more important?
Luckily, we have a direct statement from a Fuchsia developer on the matter. In the public
Fuchsia IRC channel, Fuchsia developer Travis Geiselbrecht told the chat room the OS "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."
A ndroid was conceived in the days before the iPhone. It started as an OS for cameras, and then
became a BlackBerry clone, before being quickly retooled after the iPhone unveiling. With
Android, Google is still chained to decisions it made years ago, before it knew anything about
managing a mobile OS that ships on billions of smartphones. I'd say the two biggest problems
with Android right now are
Getting OS updates rolled out across the third-party hardware ecosystem
A lack of focus on smooth UI performance.
While there hasn't been anything said about an update plan, the OS's reliance on the Dart
programming language means it has a focus on high-performance.
Fuchsia really seems like a project that asks "how would we design Android today, if we could
start over?" It's a brand-new, Google-developed kernel running a brand-new, Google-
developed SDK that uses a brand-new, Google-developed programming language and it's all
geared to run Google's Material Design interface as quickly as possible. Google gets to dump
Linux and the GPL, it can dump Java and the problems it caused with Oracle, and Google can

10
basically insulate itself from all of Android's upstream projects and bring all the developme nt
in-house. Doing such a thing on the scale of Android today would be a massive project.
The hardest part might not even be developing the OS, but coming up with some kind of
transition plan from Android, which has grown to be the world's most popular operating
system. The "cross platform" feature of the Flutter SDK sounds important for a transition plan.
If Google could get developers to start writing apps in Flutter, it would be creating an app
ecosystem that ran on iOS, Android, and, eventually, Fuchsia. Google has also shown that it is
able and willing the make the Android Runtime work on non-Android platforms with Chrome
OS, so if Google does choose to go through with a transition plan, perhaps it could port and
entire Android stack over to Fuchsia as a stop-gap app solution.
Back in August when Fuchsia went public, Geiselbrecht told the Fuchsia IRC channel "The
Magenta project [started] about 6 months ago now" which would be somewhere around
February 2016. Android hung around inside Google for about five years before it launched on
a real product. If Fuchsia follows a similar path, and everything goes well, maybe we can expect
a consumer product sometime around 2020. Then again this is Google, so it could all be
cancelled before it ever sees the light of day. Fuchsia has a long road ahead of it.

4.2 FUCHSIA AS ASSISTANT FIRST:

From the ground up, Fuchsia seems designed to accommodate the Google Assistant.
Everything on-screen, everything you’ve done and anything you can do is visible to the Google
Assistant — or at least that’s how the current Fuchsia documents make it seem.

Assistant in Android can inspect your screen for information for its use if you hold the home
button, but it seems Fuchsia will provide even deeper access. In Fuchsia, you can be in your
browser looking at reviews for a restaurant, then you open your calendar to check a date, then
say “Okay Google, invite Samantha to lunch” and it would have all that context.

Assistant will have access to all “entities” (“an identifiable person, place, thing, event, or
concept which is represented within the Fuchsia platform”). And notably, the developers
have specifically called out access to entities seen on-screen in the past: Entities will enable
“the Assistant to inspect and manipulate entities present in the current context or seen in the
past.”

11
4.3 FUCHSIA IS A CROSS DEVICE OS:

In today’s technological world, most people don’t have just one device, but multiple. Phone,
tablet, desktop, laptop, wearables, and more. Based on the current state of the OS, Google
seems to be working to make Fuchsia run on all of these seamlessly and in unison.

Traditionally, the problem with doing this is maintaining progress and context. That’s where
something called Ledger comes in: once signed in with your Google Account,
your applications automatically save their place across devices. Google describes Ledger as “a
distributed storage system for Fuchsia.” Everything is stored in the cloud.

The idea is a futuristic but cool one: Close Chrome on your phone, then open it on your laptop
and your tabs are right where you left them. The document you forgot to save before you left
work? Just open Docs on your phone and save it. Your battery died right in the middle of a
research project? Borrow a public computer and pick up where you left off.

Additionally, since there’s no difference between Fuchsia for laptop and desktop and Fuchsia
for mobile, for some there may not be a need to carry both. Theoretically, you could just plug
your phone into a dock (similar to Samsung’s DeX or Razer’s Project Linda, perhaps), and you
can be up and running with a bigger screen and a desktop/laptop-like experience

12
4.4 ARCHITECTURAL BENEFITS OVER ANDROID/CHROME OS:

Android and Chrome OS are both based on Linux, which has a solid 25-year foundation. One
problem for Android is that before Treble, patching to the latest Linux kernel was reliant on
device OEMs putting in the work, which few did (or at least not in a timely manner). Even
now, after Treble has been available for a few months, some OEMs are reluctant to include it
on their devices. This leaves Android users potentially vulnerable to new exploits that have
already been patched upstream.

Fuchsia avoids these pitfalls by using its own custom kernel, Zircon, which is designed to be
consistently upgradeable. To help make this possible, applications are isolated from having
direct kernel access. This both gives an extra layer of security and prevents apps from being
incompatible after a system upgrade, a problem that has plagued Android before.

4.5 FUCHSIA FOR DEVELOPERS:

Google is reaching out to developers of all backgrounds with this project. Most of the UI is
written in Dart (a language that is designed to feel familiar to JavaScript and Java developers),
through the Flutter framework. Support for Go, another Google-designed language is also
included. Systems developers will find comfort in the availability of Rust. Google is also
targeting Apple’s developer base by introducing Swift support.

The icing on the cake, though, is the native interoperability support for most of these langua ges.
Through the FIDL protocol, your Dart UI code can directly interface with your Go backend or
any other combination. This gives developers the opportunity to be more expressive and use
the best language for the job at hand. We’ll dive a bit more into this later.

4.6 WHEN TO USE IT:

That’s the tricky part. While Fuchsia in its current state is looking pretty, the underlying
functionality has a long way to go. It doesn’t even have a fully functioning web browser,
(though a port of Chrome is in progress). And if you’ve seen it running on a Pixelbook, you
know it still has a way to go.

Some signs we’ve seen point to some kind of initial Fuchsia release that would be sooner rather
than later, but everything’s really up in the air for now. Based on looking at the current state of
things, we’re inclined to think we won’t see any devices running Fuchsia until 2019 or later.

Notably, everything in this post is simply us doing our best to deduce Google’s current progress
and hopes for the project — as with anything in this stage in development, it’s all subject to
change. Probably lots of change before you ever see this on a consumer product.

13
5. QUERIES REGARDING FUCHSIA
5.1 WILL IT REPLACE ANDROID?

Possibly. Android is riddled with issues that Google has yet to address. First, there's
fragmentation caused by hundreds of different devices from dozens of manufacturers using
different, tweaked versions of Android rather than the latest, purest version. Second, there's
an update problem. Google has an annual release schedule for Android updates, but it takes
about four years for an update to fully flood the ecosystem.
Although many of these problems are related to Android being open source - which means
Google gives it to OEMs and carriers and lets them tinker with it and load it onto random
hardware, resulting in fragmentation, as Google can't then decide to push Android direct to
these devices if any modifications and tinkering has been done - another problem is
that Android is based on Linux.
Linux is dogged by many legal issues - and subsequent licensing fees from Android hardware
OEMs eat away at profit margins. The Linux kernel was also not originally designed
for smartphones and IoT devices, and yet the kernel's been completely tweaked and loaded
onto those devices, creating a prime environment for bugs and vulnerabilities and security
issues to grow.
A new operating system and platform would solve all these issues. It wouldn't be shackled by
pricey patent licensing deals. It would be safer, built, and optimised for today. It could also be
modular and be truly unified, meaning it would work across many devices. Google could
even begin licensing it to hardware developers, solving those fragmentation and update
problems. But, again, who knows.

5.2 WHY IS THE CODE PUBLIC?


As for why the project/code is out in the public and thus was able to be discovered in such a
low-key manner, Brian Swetland, one of Fuchsia's listed developers, reportedly explained :
"The decision was made to build it open source, so might as well start there from the
beginning."

5.3 WHICH DEVICES WILL RUN IT?


 Mobiles
 Tablet
 Laptops
 Personal computer
 Embedded systems

14
6. PROGRAMMING ENVIRONMENT OF FUCHSIA

6.1 PROGRAMMING LANGUAGES:


Dart is a general-purpose programming language originally developed by Google and later
approved as a standard by Ecma (ECMA-408).[4] It is used to build web, server and mobile
applications, and for Internet of Things (IoT) devices.[6] It is open-source software under
a permissive free software license (modified BSD license).
Dart is an object oriented, single inheritance language using a C-style syntax that trans compiles
optionally into JavaScript. It supports interfaces, mixins, abstract classes, refined generics,
optional typing, and a sound type system.
It’s no wonder that Google’s own programming language Dart for Fuchsia.
Dart is a multipurpose programming language. It’s used to build web apps, light apps
for Internet of Things and mobile apps. This really emphasises on the idea that
Fuchsia might be a universal OS after all

RUST is a systems programming language sponsored by Mozilla Research, which describes


it as a "safe, concurrent, practical language", supporting functional and imperative-
procedural paradigms. Rust is syntactically similar to C++, but its designers intend it to provide
better memory safety whilst maintaining performance.
Rust is an open source programming language. Its designers have refined the language through
the experiences of writing the Servo web browser layout engine and the Rust compiler. A large
portion of current commits to the project are from community members.
Rust won first place for "most loved programming language" in the Stack Overflow Developer
Survey in 2016 and 2017.
Rust is a systems programming language that runs blazingly fast, prevents faults and guarantees
thread safety.

GO (often referred to as golang) is a programming language created at Google in 2009 by


Robert Griesemer, Rob Pike, and Ken Thompson. It is a compiled, statically typed language in
the tradition of Algol and C, with garbage collection, limited structural typing, memory
safety features and CSP-style programming features added. The compiler and other langua ge
tools originally developed by Google are all free and open source.

15
6.2 FRAME WORK:

FLUTTER FRAMEWORK:

Java is one of the most popular and extensively used programming languages out
there. From Websites to awesome Android apps, It’s all Java. But Google recently
had brought about another framework to build apps for both iOS and android us ing
their own Flutter Framework.

Flutter is still in its infancy and it’s library is still small. But, It is efficie nt, faster,
builds high- performance apps and above all, Cross platform.

Hint: Fuchsia will be big and everywhere.

16
7. ADVANTAGES OF FUCHSIA

7.1 Capability Based Security Model:


Capability-based security is a concept in the design of secure computing systems, one of the
existing security models. A capability (known in some systems as a key) is a communicab le,
unforgeable token of authority. It refers to a value that references an object along with an
associated set of access rights. A user program on a capability-based operating system must
use a capability to access an object. Capability-based security refers to the principle of
designing user programs such that they directly share capabilities with each other according to
the principle of least privilege, and to the operating system infrastructure necessary to make
such transactions efficient and secure. Capability-based security is to be contrasted with an
approach that uses hierarchical protection domains.
Although most operating systems implement a facility which resembles capabilities, they
typically do not provide enough support to allow for the exchange of capabilities among
possibly mutually untrusting entities to be the primary means of granting and distributing
access rights throughout the system. A capability-based system, in contrast, is designed with
that goal in mind.
Capabilities as discussed in this article should not be confused with POSIX 1e/2c
"Capabilities". The latter are coarse-grained privileges that cannot be transferred between
processes.

7.2 FREE AND OPEN SOURCE SOFTWARE


Free and open-source software (FOSS) is software that can be classified as both free
software and open-source software. That is, anyone is freely licensed to use, copy, study, and
change the software in any way, and the source code is openly shared so that people are
encouraged to voluntarily improve the design of the software. This is in contrast to proprietary
software, where the software is under restrictive copyright and the source code is usually
hidden from the users.
The benefits of using FOSS can include decreased software costs, increased security and
stability (especially in regard to malware), protecting privacy, education, and giving users
more control over their own hardware. Free, open-source operating systems such as Linux and
descendants of BSD are widely utilized today, powering millions of servers, desktops,
smartphones (e.g. Android), and other devices. Free software licenses and open-source
licenses are used by many software packages. The Free software movement and the open-
source software movement are online social movements behind widespread production and
adoption of FOSS.

17
7.3 LIGHT WEIGHT PROCESSING:
In computer operating systems, a light-weight process (LWP) is a means of
achieving multitasking. In the traditional meaning of the term, as used in Unix System
V and Solaris, a LWP runs in user space on top of a single kernel thread and shares its address
space and system resources with other LWPs within the same process. Multiple user
level threads, managed by a thread library, can be placed on top of one or many LWPs -
allowing multitasking to be done at the user level, which can have some performance benefits.
In some operating systems there is no separate LWP layer between kernel threads and user
threads. This means that user threads are implemented directly on top of kernel threads. In
those contexts, the term "light-weight process" typically refers to kernel threads and the term
"threads" can refer to user threads. On Linux, user threads are implemented by allowing certain
processes to share resources, which sometimes leads to these processes to be called "lig ht
weight processes". Similarly, in SunOS version 4 onwards (prior to Solaris) "light weight
process" referred to user thread.

7.4 CROSS DEVICE OS:

In today’s technological world, most people don’t have just one device, but multiple. Phone,
tablet, desktop, laptop, wearables, and more. Based on the current state of the OS, Google
seems to be working to make Fuchsia run on all of these seamlessly and in unison.

Traditionally, the problem with doing this is maintaining progress and context. That’s where
something called Ledger comes in: once signed in with your Google Account,
your applications automatically save their place across devices. Google describes Ledger as
“a distributed storage system for Fuchsia.” Everything is stored in the cloud.

The idea is a futuristic but cool one: Close Chrome on your phone, then open it on your laptop
and your tabs are right where you left them. The document you forgot to save before you left
work? Just open Docs on your phone and save it. Your battery died right in the middle of a
research project? Borrow a public computer and pick up where you left off.

18
8. CONCLUSION
Fuchsia is really going to change world of operating systems by giving a simple and differe nt
operating system to the world which can be used in any system, tablet, mobile or any embedded
system.
Fuchsia is proof for advancement in the modern world, and the tech giant google is going to
create a revolution in the world of technology.

FUCHSIA installed on a pixelbook.

19
9. REFERENCES:
1) https://github.com/fuchsia-mirror [git hub]
2) https://en.wikipedia.org/wiki/Google_Fuchsia [Wikipedia]
3) https://www.slideshare.net/PRUTHVIRAJBANDA1/fuchsia-66670739 [my last year
presentation on slide share]
4) https://www.youtube.com/watch?v=dziInGrVHac [YouTube]
5) https://www.pocket- lint.com/laptops/news/google/138518-google- fuchsia-os-what-s-
the-story-so-far [pocket lint]
6) https://9to5google.com/2018/01/23/what- is-google- fuchsia-os/ [9to5 google]
7) https://www.theverge.com/2016/8/15/12480566/goo gle-fuchsia- new-operating-
system
8) http://www.livemint.com/Leisure/Ij8KANz6EZs9amKaqHqkiP/Why- is-Google-
working-on-the-new-Fuchsia-operating-system.html [live mint]
9) https://arstechnica.com/gadgets/2017/05/googles-fuchsia-smartphone-os-dumps-
linux-has-a-wild-new-ui/
10) https://itsfoss.com/fuchsia-os-what-you-need-to-know/ [its FOSS]
11) https://www.quora.com/Why- is-Google- making-Fuchsia [quora]

20

You might also like