Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
FIREFOX OS
What is it?
● Firefox OS. Referred to as Boot 2 Gecko or
B2G (codename).
● Firefox OS is an open source mobile
...
IDEA?
●The idea behind Firefox OS is simple:
Building apps for the mobile web using exactly the same tools and
languages ...
SIMPLE?
 Firefox OS is simple to create and work on.
 It is completely based on HTML5 and CSS3
just like a browser runni...
HOW IS IT BUILD?
ARCHITECTURE OF FIREFOX OS
Linux Core (GONK)
Firefox OS is based on the proven firefox engine (GECKO). ...
GONK
 Gonk is the lower level operating system of the Firefox OS
platform.
 Gonk is a very simple Linux distribution.
 ...
CONTINUE…..
Porting target (in gecko there is a lot of code that is
platform agnostic, and some parts (like windowing
sys...
CONTINUE….
 It consists of a Linux kernel (based on the Android Open Source
Project (AOSP)) and userspace hardware abstra...
CONTINUE….
 Firefox OS project/Gecko has full control over Gonk, we can
expose interfaces to Gecko that can't be exposed ...
LINUX KERNAL & FLOW OF CONTROL
In Linux, the flow of control during a boot is from BIOS to boot
loader, to kernel.
(BIOS ...
CONTINUE…..
 After the selection is made, or after reaching a selection time-out,
boot loader loads the kernel.
 The boo...
CONTINUE….
 The init process executes scripts as needed that set up all non-operating
system services and structures in o...
FIREFOX OS BOOT UP PROCESS
GECKO
 This is the Firefox OS application runtime; that is, the layer that
provides all of the support for open standards...
GAIA
 Gaia is the user interface level of Firefox OS. Everything that appears on the
screen after Firefox OS starts up is...
APPLICATION LAYER
Core - Certified Applications
 Applications which are the backbone of a contemporary mobile device
 Di...
COMMUNICATION WITH GECKO
 The communication between Gecko and Gaia's System app is done via
mozChromeEvent and mozContent...
FIREFOX OS APPS ARCHITECTURE
 The app startup process
 When the user selects an app,the home screen app starts by gettin...
THANKYOU
Kumar Rishav
Mozillian and FSA
https://www.facebook.com/rishav.raj.737001
rishav006@gmail.com
SUPPORT OPEN WEB
 Doing good is part of our code
Appdaysindore
Appdaysindore
Appdaysindore
Upcoming SlideShare
Loading in …5
×

Appdaysindore

503 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Appdaysindore

  1. 1. FIREFOX OS What is it? ● Firefox OS. Referred to as Boot 2 Gecko or B2G (codename). ● Firefox OS is an open source mobile operating system from Mozilla, based on Linux and powered by Mozilla's Gecko technology.
  2. 2. IDEA? ●The idea behind Firefox OS is simple: Building apps for the mobile web using exactly the same tools and languages as the desktop web. Simply it's aWeb App transformed in User Interface for your smartphone.
  3. 3. SIMPLE?  Firefox OS is simple to create and work on.  It is completely based on HTML5 and CSS3 just like a browser running on your phone.
  4. 4. HOW IS IT BUILD? ARCHITECTURE OF FIREFOX OS Linux Core (GONK) Firefox OS is based on the proven firefox engine (GECKO). Fully open and standard proposed-APIs UX layer (GAIA)
  5. 5. GONK  Gonk is the lower level operating system of the Firefox OS platform.  Gonk is a very simple Linux distribution.  Gonk is a porting target of Gecko.  i.e there's a port of Gecko to Gonk, just like there's a port of Gecko to OS X,Windows, and Android.
  6. 6. CONTINUE….. Porting target (in gecko there is a lot of code that is platform agnostic, and some parts (like windowing system, input system) that are platform specific. gonk is the platform we use for b2g devices)
  7. 7. CONTINUE….  It consists of a Linux kernel (based on the Android Open Source Project (AOSP)) and userspace hardware abstraction layer (HAL).  HAL (set of user space libraries which are common open-source projects: Linux, libusb, bluez. Some of the other parts of the HAL are shared with the Android project: GPS, camera, and others).
  8. 8. CONTINUE….  Firefox OS project/Gecko has full control over Gonk, we can expose interfaces to Gecko that can't be exposed on other operating systems. For example, Gecko has direct access to the full telephony stack and display frame buffer on Gonk, but doesn't have this access on any other operating system.  Linux kernel ??  Booting process??
  9. 9. LINUX KERNAL & FLOW OF CONTROL In Linux, the flow of control during a boot is from BIOS to boot loader, to kernel. (BIOS : initialize and test the system hardware components, and to load a “bootloader” from a mass memory device ). The boot loader often presents the user with a menu of possible boot options. The boot loader can be configured to time out if the user does not interact with the boot loader, thus selecting a default kernel and system configuration.
  10. 10. CONTINUE…..  After the selection is made, or after reaching a selection time-out, boot loader loads the kernel.  The boot loader starts the kernel(by calling calling start_kernel()) and the kernel starts init.  start_kernel() then performs the majority of system setup (interrupts, the rest of memory management, device and driver initialization,etc.) before spawning separately, scheduler, and the init process (which is executed in user space).  (The kernel then starts the scheduler (to allow multi-tasking) and runs the first program init (short for initialization: is a program for Unix-based computer operating systems that spawns all other processes))
  11. 11. CONTINUE….  The init process executes scripts as needed that set up all non-operating system services and structures in order to allow a user environment to be created. Usually, these scripts then present the user with a way to authenticate and thus login into the system
  12. 12. FIREFOX OS BOOT UP PROCESS
  13. 13. GECKO  This is the Firefox OS application runtime; that is, the layer that provides all of the support for open standards: HTML, CSS, and JavaScript. Gecko, is the implementation of web standards (HTML, CSS, and JavaScript) that is used to implement everything the user sees on Firefox OS.  Gecko is a middleware composed of layout engine (for rendering HTML content) virtual machine (for running Javascript code) porting layers to the different platforms,networking stack,graphics stack (which delegates-to give power/duty- operations to the GPU when needed) etc..
  14. 14. GAIA  Gaia is the user interface level of Firefox OS. Everything that appears on the screen after Firefox OS starts up is drawn by Gaia, including the lock screen, home screen, dialer, and other applications. Gaia is written entirely in HTML, CSS, and JavaScript. Its only interface to the underlying operating system and hardware is through standard Web APIs, which are implemented by Gecko.  Because of this design, not only can Gaia be run on Firefox OS devices, but also on other operating systems and in other web browsers.  UI implementation based on building blocks and JS libraries
  15. 15. APPLICATION LAYER Core - Certified Applications  Applications which are the backbone of a contemporary mobile device  Dialer, Messaging, Contacts, Media, Gallery, Clock, etc.  Pre-installed on the device .  Trusted Packaged Applications  Installed from marketplace.  Reviewed and cryptologially signed byApp reviewer. Communication with Gecko??
  16. 16. COMMUNICATION WITH GECKO  The communication between Gecko and Gaia's System app is done via mozChromeEvent and mozContentEvent.  mozChromeEvents are broadcast from chrome to content(i.e for messages from chrome (parent window) to content(system apps))  mozContentEvents are broadcast from content to chrome.  This communication is used to control the creation and closure of the trusted UI and to inject the required functions for notifications and other tasks, including telling the System app to start an app.
  17. 17. FIREFOX OS APPS ARCHITECTURE  The app startup process  When the user selects an app,the home screen app starts by getting an app reference from the “app API” ,then calling the “app.launch()” method to launch.  Gecko receives that request and sends the “mozChromeEvent” to the System app with the app's details.The System app handles that event by inserting a new<iframe> into its DOM tree and loading the app within the new <iframe>.That frame will be the app's home until it terminates.  Every app requires a manifest that describes the app.
  18. 18. THANKYOU Kumar Rishav Mozillian and FSA https://www.facebook.com/rishav.raj.737001 rishav006@gmail.com
  19. 19. SUPPORT OPEN WEB  Doing good is part of our code

×