Download pptx - Firefox os

Transcript
Page 1: Firefox os

Firefox OS

Page 2: Firefox os

What is Firefox OS?

• A new Mobile Operating System• Announced on July 25, 2011• It is developed by Mozilla• It is based on Boot-to-Gecko (B2G)• Implements all standards based web

technologies (HTML, CSS, and JavaScript)• It is open-source

Page 3: Firefox os

User Interface

Page 4: Firefox os

Firefox OS Architecture

Page 5: Firefox os

Gaia

• The user interface of the Firefox OS platform• It is implemented entirely using HTML5, CSS3,

and JavaScript which runs on Gecko and make use of JavaScript APIs exposed by it

• It also provides basic apps like Browser, Calendar, Calculator, Camera, Email, Radio, Music, etc

Page 6: Firefox os

Gecko ---> Boot-to-Gecko

• Gecko is a layout engine used in Firefox• But Boot-to-Gecko is an environment to run

apps written using HTML5, CSS3, and JavaScript

• It provides APIs to access hardware resources like battery, camera, Bluetooth, etc

• APIs are in C Language

Page 7: Firefox os

Gonk

• A lower level OS of the Firefox OS• It consists of Linux kernel and user space

Hardware Abstraction Layer (HAL)• Implements common-open source libraries:

Linux, libusb, bluez, etc• Some of the other parts of HAL are shared

with Android Project: GPS, Camera, etc• The APIs used in Gecko are provided by Gonk

Page 8: Firefox os

Working of Firefox OS

• When a Firefox OS is turned on, execution begins in the primary bootloader and at the end execution is handed off to Linux Kernel

• The bootloaders usually display the first splash screen seen by the user during device startup; this is typically a vendor logo

• The bootloader implement flashing an image to the device. Different device use different protocols; most phones use the fastboot protocol

Page 9: Firefox os

Working of Firefox OS

• But the Samsung Galaxy SII uses the ordin protocol

• Now, a userspace init process is launched, as it is in most UNIX-like Oses

• At this point in execution, the only mounted “disk” is a RAM disk

• Once the init process is launched, the Linux kernel handles system calls

Page 10: Firefox os

Working of Firefox OS

• Many hardware features are exposed to userspace through sysfs

• For example, here’s a code snipped that reads the battery state in Gecko

Page 11: Firefox os

Graphics Implementation

• Gecko uses OpenGL ES 2.0• Gecko draws separate regions of pages into

memory buffers• Sometimes these buffers are in system

memory; other times, they’re textures mapped into Gecko’s address space, which means that Gecko is drawing directly into video memory

Page 12: Firefox os

Sandbox Implementation

• As most web content runs in content processes with low privileges, we can’t assume those processes have the privileges needed to able to (for example), turn on and off the vibration motor

• In addition we want to have a central location for handling potential race conditions

• This Sandbox implementation simply proxies requests made by content processes and forwards them to the Gecko server process using IPDL

Page 13: Firefox os

If Android is free, then why this?

• Anyone can download Android source and put it on a device, but companies that want to make and sell Android devices are probably going to have to negotiate a patent licensing arrangement with Microsoft

• Basically all device makers except Google has inked a deal with it to protect themselves against possible patent infringement suits

Page 14: Firefox os

If Android is free, then why this?

• Furthermore, some members of the Android ecosystem are more equal than others

• Google also has preferred partners who get early looks at Android while its in development, so they can have their products ready sooner

• Firefox OS has none of that

Page 15: Firefox os

User Interface: FM Radio

Page 16: Firefox os

User Interface: Maps from Nokia

Page 17: Firefox os

User Interface: MarketPlace

Page 18: Firefox os

User Interface: Settings

Page 19: Firefox os

User Interface: Notifications

Page 20: Firefox os

User Interface: Everything.me