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
User Interface
Firefox OS Architecture
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
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
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
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
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
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
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
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
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
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
User Interface: FM Radio
User Interface: Maps from Nokia
User Interface: MarketPlace
User Interface: Settings
User Interface: Notifications
User Interface: Everything.me

Firefox os

  • 1.
  • 2.
    What is FirefoxOS? • 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
  • 3.
  • 4.
  • 5.
    Gaia • The userinterface 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
  • 6.
    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
  • 7.
    Gonk • A lowerlevel 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
  • 8.
    Working of FirefoxOS • 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
  • 9.
    Working of FirefoxOS • 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
  • 10.
    Working of FirefoxOS • Many hardware features are exposed to userspace through sysfs • For example, here’s a code snipped that reads the battery state in Gecko
  • 11.
    Graphics Implementation • Geckouses 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
  • 12.
    Sandbox Implementation • Asmost 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
  • 13.
    If Android isfree, 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
  • 14.
    If Android isfree, 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
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.