You are on page 1of 19

Motivation

Most Popular OS for mobile platform


Powers more than a Billion phones and tablets
around the world!
About 1.5 Million new devices running android are
activated daily!
Revolutionized the mobile phone industry
There is a need to know about the Operation and
other Technical aspects of the Android OS
Above all, Its free.

Overview

The Big Picture


Linux Kernel
Binder Driver
Power Management
Android Run Time
Dalvik Virtual Machine
Other Services and Peripherals
2

The Big Picture

The Linux Kernel

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


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
4

Binder Driver
Driver to facilitate IPC (Inter Process Communication)
between applications and services
Problems of Linux IPC
o Applications and services may run in separate processes but must communicate
and share data
o IPC can introduce significant processing overhead and security holes

Properties of Binder
o High performance through Shared Memory
o Per-process thread pool for processing requests

Binder in Action!

Power Management
Mobile devices depend on battery power and batteries have
limited capacity
Properties of Power Management
o 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 off!


Use Wake Locks carefully!
7

Power Management in Action!

Why Linux Kernel?


Relies on Linux Kernel for core system services
o
o
o
o

Memory and Process Management


Network stack
Driver model
Security

Support for shared libraries


Its already Open Source!

Android Run Time

Core Libraries and Dalvik Virtual Machine


Core Libraries
o Provides most of the functionality available in the core
libraries of the Java language
o APIs, Data Structures, File Access, Network Access, Etc..
10

Dalvik VM
Androids custom implementation of Virtual Machine with
Register Architecture
It is a Virtual Machine to
o
o
o
o

Run on a slow CPU


With relatively little RAM
On an OS without Swap space
And most importantly for devices powered by Battery!

11

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
12

Other Services and Peripherals


Native libraries

Application Framework

13

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
14

Future Work: Android ART


Android ART is a new experimental runtime implemented
in v4.4 (KitKat) that executes application instructions
Dalvik VM Just-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!
15

Few Drawbacks!

Fragmentation
Decentralization
Unstable, Hangs if the load is more
Battery Draining and Overheating
Continuous Internet Connection

16

References
[1] Benjamin Speckmann, The Android mobile platform, MS.Thesis, Depart. comp. science, Eastern Michigan
Univ., Michigan, US, 2008.
[2] Benny Skogberg Android Application Development, MS.Thesis, Depart. Comp. Science, Malmo Univ., Sweden,
2010.
[3] Chien-Wei Chang, Chun-Yu Lin, Chung-Ta King,Implementation of JVM Tool Interface on Dalvik Virtual
Machine,paper appears in (VLSI-DAT), 2010 International Symposium on Digital Object Identifier 26-29 April 2010.
[4] Bimal Gadhavi & Khushbu Shah, Analysis of the Emerging Android Market , Project Report Presented to
SanJos State University May 2010
[5] Stefan Brahler, Analysis of android architecture, Department of computer science, Karlsruher institute of
technologies, Germany, june 2010
[6] Marakana,AndroidBootcamp TrainingCourse http://marakana.com/training/android/android_bootcamp.html,
18 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 in Computer Science
and Software Engineering 3(6), June - 2013, pp. 143-17
[10] Android Home Page: http://android.com
17

Thank You
Happy Learning!

18

Questions?

19

You might also like