Android OS Architecture

Android

Author
Name: Parmit Singh
Android Application Developer


Android operating system is a stack of software components which is roughly divided into five sections and four main layers as shown below in the architecture diagram. The components of android operating system are

  • Linux kernel
  • Libraries
  • Android Run time
  • Application Framework
  • Applications


Linux kernel

Bottom layer of android operating system is Linux kernel. Android is built on top of Linux 2.6 Kernel and few architectural changes made by Google. Linux Kernel provides the basic system functionality such as process management, memory management and device management like camera, keypad, display etc. It also provides array of device drivers which makes interfacing the android with peripheral hardware easy.

Libraries

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

Library Explanation
SQLite This library is used to access data published by content providers and includes SQLite database management classes
SSL This is used to provide internet security
OpenGL OpenGL 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
Web browser Based on the open-source WebKit layout engine, coupled with Chrome’s V8 JavaScript engine supporting HTML5 and CSS3.

Android Runtime

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

The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language.

Application framework

It is fourth component in android operating system stack. Android applications  directly interacts with application framework. Application framework manages the basic functions of android device such as resource management, voice call management etc. Application Framework layer provides many higher-level services to applications in the form of Java classes. Application developers are allowed to make use of these services in their applications. The important blocks of application framework are

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

Applications

Android application is the fifth competent of android OS and situated at the top layer. Applications are developed to be installed on this layer only. Examples of such applications are Contacts Books, Browser, Games, etc.