Firefox os

  • View
    3.500

  • Download
    0

Embed Size (px)

Transcript

  • 1. Firefox OS

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 webtechnologies (HTML, CSS, and JavaScript) It is open-source 3. User Interface 4. Firefox OS Architecture 5. Gaia The user interface of the Firefox OS platform It is implemented entirely using HTML5, CSS3,and JavaScript which runs on Gecko and makeuse 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 runapps written using HTML5, CSS3, andJavaScript It provides APIs to access hardware resourceslike battery, camera, Bluetooth, etc APIs are in C Language 7. Gonk A lower level OS of the Firefox OS It consists of Linux kernel and user spaceHardware Abstraction Layer (HAL) Implements common-open source libraries:Linux, libusb, bluez, etc Some of the other parts of HAL are sharedwith Android Project: GPS, Camera, etc The APIs used in Gecko are provided by Gonk 8. Working of Firefox OS When a Firefox OS is turned on, execution beginsin the primary bootloader and at the endexecution is handed off to Linux Kernel The bootloaders usually display the first splashscreen seen by the user during device startup;this is typically a vendor logo The bootloader implement flashing an image tothe device. Different device use differentprotocols; most phones use the fastboot protocol 9. Working of Firefox OS But the Samsung Galaxy SII uses the ordinprotocol Now, a userspace init process is launched, as itis in most UNIX-like Oses At this point in execution, the only mounteddisk is a RAM disk Once the init process is launched, the Linuxkernel handles system calls 10. Working of Firefox OS Many hardware features are exposed touserspace through sysfs For example, heres a code snipped that readsthe battery state in Gecko 11. Graphics Implementation Gecko uses OpenGL ES 2.0 Gecko draws separate regions of pages intomemory buffers Sometimes these buffers are in systemmemory; other times, theyre texturesmapped into Geckos address space, whichmeans that Gecko is drawing directly intovideo memory 12. Sandbox Implementation As most web content runs in content processeswith low privileges, we cant assume thoseprocesses 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 forhandling potential race conditions This Sandbox implementation simply proxiesrequests made by content processes andforwards them to the Gecko server process usingIPDL 13. If Android is free, then why this? Anyone can download Android source and putit on a device, but companies that want tomake and sell Android devices are probablygoing to have to negotiate a patent licensingarrangement with Microsoft Basically all device makers except Google hasinked a deal with it to protect themselvesagainst possible patent infringement suits 14. If Android is free, then why this? Furthermore, some members of the Androidecosystem are more equal than others Google also has preferred partners who getearly looks at Android while its indevelopment, so they can have their productsready sooner Firefox OS has none of that 15. User Interface: FM Radio 16. User Interface: Maps from Nokia 17. User Interface: MarketPlace 18. User Interface: Settings 19. User Interface: Notifications 20. User Interface: Everything.me