Android OS Architecture

In the last chapter we have learnt how to set local environment to create android application. In this chapter we will be learning about Architecture of android operating system.

Android OS Architecture

Below is architecture diagram of android operating system –

architecture android operating system

Android operating system comprise of different software components arranges in stack. Different components of android operating system are –

  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.


  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 created by third party users or developer will be installed on application layer.