Technical Presentation [Autosaved]

Embed Size (px)

Citation preview

  • 8/10/2019 Technical Presentation [Autosaved]

    1/19

    Motivation Most Popular OS for mobile platform

    Powers more than a Billion phones and tabletsaround the world!

    About 1.5 Million new devices running android areactivated daily!

    Revolutionized the mobile phone industry

    There is a need to know about the Operation andother Technical aspects of the Android OS

    Above all, Its free.

  • 8/10/2019 Technical Presentation [Autosaved]

    2/19

    Overview

    The Big Picture

    Linux Kernel

    Binder Driver

    Power Management

    Android Run Time

    Dalvik Virtual Machine

    Other Services and Peripherals

  • 8/10/2019 Technical Presentation [Autosaved]

    3/19

    The Big Picture

  • 8/10/2019 Technical Presentation [Autosaved]

    4/19

    The Linux Kernel

    Android is built on the Linux kernel, but Android is not

    Based on Linux Kernel v3.4

    No Native windowing system

    No glibc (GNU C Library) Support

    Does not include full set of standard Linux Utilities

  • 8/10/2019 Technical Presentation [Autosaved]

    5/19

    Binder Driver Driver to facilitate IPC (Inter Process Communication

    between applications and services

    Problems of Linux IPCo Applications and services may run in separate processes but must commu

    and share data

    o IPC can introduce significant processing overhead and security holes

    Properties of Bindero High performance through Shared Memory

    o Per-process thread pool for processing requests

  • 8/10/2019 Technical Presentation [Autosaved]

    6/19

    Binder in Action!

  • 8/10/2019 Technical Presentation [Autosaved]

    7/19

    Power Management

    Mobile devices depend on battery power and batte

    limited capacity

    Properties of Power Managemento Built on top of standard Linux Power Management

    o Supports more aggressive power management policy

    o Components make requests to keep the power on through Wake Locks

    If there is no active Wake Lock, CPU will be turned o

    Use Wake Locks carefully!

  • 8/10/2019 Technical Presentation [Autosaved]

    8/19

    Power Management in Action

  • 8/10/2019 Technical Presentation [Autosaved]

    9/19

    Why Linux Kernel?

    Relies on Linux Kernel for core system serviceso Memory and Process Management

    o Network stack

    o Driver model

    o Security

    Support for shared libraries

    Its already Open Source!

  • 8/10/2019 Technical Presentation [Autosaved]

    10/19

    Android Run Time

    Core Libraries and Dalvik Virtual Machine

    Core Librarieso Provides most of the functionality available in the core

    libraries of the Java language

    o APIs, Data Structures, File Access, Network Access, Etc..

  • 8/10/2019 Technical Presentation [Autosaved]

    11/19

    Dalvik VM

    Androids custom implementation of Virtual Machine

    Register Architecture

    It is a Virtual Machine too Run on a slow CPU

    o With relatively little RAM

    o On an OS without Swap space

    o And most importantly for devices powered by Battery!

  • 8/10/2019 Technical Presentation [Autosaved]

    12/19

    Why DVM?

    Provides Application Portability and Runtime

    consistency

    Designed for Embedded Environment

    o Supports multiple virtual machine processes per device

    o Highly CPU-optimized byte code interpreter

    o Uses runtime memory very efficiently

    Runs optimized file format (.dex) and Dalvik bytecode

    Java .class/.jar files converted to .dex at build time

  • 8/10/2019 Technical Presentation [Autosaved]

    13/19

    Other Services and Peripheral

    Native libraries

    Application Framework

  • 8/10/2019 Technical Presentation [Autosaved]

    14/19

    Application Layer Application Layer

    Top most layer of the Android stack All Applications such as SMS client, Dialer, Web

    Browser, contact manager run in this layer

  • 8/10/2019 Technical Presentation [Autosaved]

    15/19

    Future Work: Android ART

    Android ART is a new experimental runtime implementedin v4.4 (KitKat) that executes application instructions

    Dalvik VMJust-In-Time or JIT Compiler

    ART- Ahead-of-Time or AOT Compiler

    Byte code is precompiled into machine language at the

    time of installation!

    Reported great increase in performance and battery life

    May completely replace Dalvik in the future!

  • 8/10/2019 Technical Presentation [Autosaved]

    16/19

    Few Drawbacks!

    Fragmentation

    Decentralization

    Unstable, Hangs if the load is more

    Battery Draining and Overheating

    Continuous Internet Connection

  • 8/10/2019 Technical Presentation [Autosaved]

    17/19

    References[1] Benjamin Speckmann, The Android mobile platform, MS.Thesis, Depart. comp. science, EUniv., Michigan, US, 2008.

    [2] Benny Skogberg Android Application Development, MS.Thesis, Depart. Comp. Science, M2010.

    [3] Chien-Wei Chang, Chun-Yu Lin, Chung-Ta King,Implementationof JVM Tool Interface on DaMachine,paperappears in (VLSI-DAT), 2010 International Symposium on Digital Object Identif

    [4] Bimal Gadhavi & Khushbu Shah, Analysis of the Emerging Android Market , Project ReporSanJos State University May 2010

    [5] Stefan Brahler, Analysis of android architecture, Department of computer science, Karlsrutechnologies, Germany, june 2010

    [6] Marakana,AndroidBootcamp TrainingCourse http://marakana.com/training/android/and18 Oct, 2012.

    [7] Google I/O: Anatomy and Physiology of Android by Patrick Brady

    [8] Google I/O: Dalvik Virtual Machine Internals by Dan Bornstein

    [9] Vaibhav Kumar, Vinod Kumar, Sarkania et al., International Journal of Advanced Research and Software Engineering 3(6), June - 2013, pp. 143-17

    [10] Android Home Page: http://android.com

    http://android.com/http://android.com/
  • 8/10/2019 Technical Presentation [Autosaved]

    18/19

    Thank YouHappy Learning!

  • 8/10/2019 Technical Presentation [Autosaved]

    19/19

    Questions?