Architecture of Android

August 6, 2016 by Giryavva Ghodake

Filed under Android

Last modified October 21, 2016

Architecture of Android

android_diagram

 

Android is implemented in the form of a software stack architecture consisting of a Linux kernel, a runtime environment and corresponding libraries, an application framework and a set of applications. Applications are predominantly written in Java and run within individual instances of the Dalvik virtual machine

  1. Linux kernel
  2. Libraries
  3. Android Run time
  4. Application Framework
  5. Applications

Linux kernel

  1. Bottom layer of android operating system is Linux kernel.
  2. Android is built on top of Linux 2.6 Kernel and few architectural changes made by Google.
  3. Linux Kernel provides the basic system functionality such as process management, memory management and device management
  4. Linux kernel also provides array of device drivers which make our task easier while interfacing the android with peripheral devices.

Libraries

  1. On the top of Linux Kernel another layer called libraries is present.
  2. It provides the different libraries useful for well functioning of android operating system.
  3. Libraries are java libraries build specific for android operating system.

Some of the libraries are listed below –

Libraries Explanation
SQLite It is used to access data published by content providers and includes SQLite database management classes
SSL It is used to provide internet security
OpenGL It is used to provide Java interface to the OpenGL/ES 3D graphics rendering API.
Media framework It is used to provides different media codecs which allow the recording and playback of different media formats
WebKit It is the browser engine used to display internet content or HTML content

Android Runtime

  1. It is third component of the android architecture and placed in second layer from bottom
  2. It provides most important part of android called Dalvik Virtual Machine.
  3. Dalvik Virtual Machine is similar to JVM but only difference is that it is designed and optimized for Android.
  4. Dalvik Virtual machine uses core functions of Linux such as memory management and multithreading and enables each android app to run its own process.

Re-commanded Article : Java Virtual Machine

Application framework

  1. It is 2nd topmost component in android operating system stack
  2. Android applications directly interacts with application framework.
  3. Application framework manages the basic functions of android device such as resource management, voice call management etc

Important blocks of Application framework are :

Block Explanation
Activity Manager Block is used to manage complete activity life cycle of applications
Content Providers Block is used to manage the data sharing between two applications
Telephony Manager Block is used to manages all voice calls
Location Manager Block is used to manage the Locations obtained using GPS or cell tower
Resource Manager Block is used to manage the different types of resources used in android app

Applications

Applications created by third party users or developer will be installed on application layer.

Save

Save

Save

Leave a Comment