You are on page 1of 27

A SEMINAR REPORT ON

FUCHSIA

Submitted in partial fulfillment of the requirements for the


award of the degree of

BACHELOR OF TECHNOLOGY

In

COMPUTER SCIENCE AND ENGINEERING

Submitted by

VINEETH REDDY MOTATI – 16841A05F5

DEPARTMENT OF COMPUTER SCIENCE ENGINEERING

AURORA’S TECHNOLOGICLA AND RESEARCH INSTITUTE


PARVATHAPUR, UPPAL - 500039
OCTOBER, 2019

i
AURORA’S TECHNOLOGICAL AND RESEARCH INSTITUTE
PARVATHAPUR, UPPAL – 500039

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CERTIFICATE

Certified that seminar work entitled “FUCHSIA” is a bonafide work carried out in the fourth year
by VINEETH REDDY MOTATI in partial fulfillment for the award of degree of Bachelor of
Technology in Information Technology from JNTU Hyderabad during the academic year 2019-
20.

Ms. V. MADHAVI Ms. DURGA PAVANI


SEMINAR COORDINATOR HEAD OF THE DEPARTMENT
Assistant Professor Department of CSE
Department of CSE

ii
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 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 speculation 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.

iii
CONTENTS

S. No TITLE Page. No

1. INTRODUCTION 1

2. ABOUT THE PROJECT 4

3. DESCRIPTION OF PROJECT 6

4. FUCHSIA USER INTERFACE 9

5. QUERIES REGARDING FUCHSIA 16

6. PROGRAMMING ENVIRONMENT OF FUCHSIA 18

7. ADVANTAGES OF FUCHSIA 20

8. CONCLUSION 22

9. BIBLIOGRAPHY 23

iv
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 "Zircon", 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 speculation 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.

1
1.2. HISTORY OF 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 primarily 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 million 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 initially 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.

2
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 "Zircon" kernel (formerly "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 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.

3
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
Zircon (Magenta), a “medium-sized microkernel” that itself is based on a project called Little Kernel. 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 Zircon
(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 Zircon, a "medium-sized microkernel" based on a project called Little Kernel,
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.

4
Furthermore, Google's documentation notes Zircon 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. Fuchsia is based on Magenta Kernel which
is developed based on the Little Kernel 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 trying 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. Somewhat 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 colors (pink and purple) forming a
new color (Fuchsia), they are mixing two operating systems (chrome
OS & android) to form a new operating system (Fuchsia), so they chose
that name as FUCHSIA.

5
3. DESCRIPTION OF PROJECT
3.1. GENERAL DESCRIPTION:

The OS is built on Zircon, 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 used 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.

6
3.2. ZICRON KERNEL:
Zircon is the core platform that powers the Fuchsia OS. Formerly Zircon is called as Magenta kernel.
Zircon is micro kernel derived from little kernel. Zircon is composed of a microkernel 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.

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 management, 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 microkernel 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.

7
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.

9
The home screen is a giant vertically scrolling list. In the center 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.

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 reined 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 horizontally 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

10
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."

Android 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 basically insulate itself from all of Android's upstream projects and
bring all the development 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.

11
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.”

12
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. 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.

13
4.4. ARCHITECTURAL BENEFITSOVER 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 languages. 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.

14
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 Pixel book, 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.

15
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 optimized 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."

16
5.3. WHICH DEVICES WILL RUN IT?

• Mobiles
• Tablet
• Laptops
• Personal computer
• Embedded systems

17
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 emphasizes 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 language tools originally developed by Google are
all free and open source.

18
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 using their own Flutter Framework. Flutter is still in its infancy and
its library is still small. But It is efficient, faster, builds high-performance apps and above all, Cross
platform.

19
7. ADVANTAGES OF FUCHSIA
7.1. CAPABILITY BASED SECURITYMODEL:

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 communicable, 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.

20
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, an 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 "light 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.

21
8. CONCLUSION

Fuchsia is really going to change world of operating systems by giving a simple and different 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.

22
9. BIBLIOGRAPHY

1) https://github.com/fuchsia-mirror [GitHub]

2) https://en.wikipedia.org/wiki/Google_Fuchsia [Wikipedia]

3) https://www.slideshare.net/PRUTHVIRAJBANDA1/fuchsia-66670739 [SlideShare]

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/google-fuchsia-new-operating-
System[The-Verge]

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/[Ars-Technica]

10) https://itsfoss.com/fuchsia-os-what-you-need-to-know/ [its FOSS]

11) https://www.quora.com/Why-is-Google-making-Fuchsia [Quora]

23

You might also like