Firefox os


Published on

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Firefox os

  1. 1. Firefox OS
  2. 2. 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
  3. 3. User Interface
  4. 4. Firefox OS Architecture
  5. 5. 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
  6. 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. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. User Interface: FM Radio
  16. 16. User Interface: Maps from Nokia
  17. 17. User Interface: MarketPlace
  18. 18. User Interface: Settings
  19. 19. User Interface: Notifications
  20. 20. User Interface: