Android OS ArchitecturePritesh
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 –
Android operating system comprise of different software components arranges in stack. Different components of android operating system are –
- Linux kernel
- Android Run time
- Application Framework
- 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
- Linux kernel also provides array of device drivers which make our task easier while interfacing the android with peripheral devices.
- 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 the libraries are listed below –
|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|
- It is 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 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 multithreading and enables each android app to run its own process.
Re-commanded Article : Java Virtual Machine
- It is 2nd topmost 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
Important blocks of Application framework are :
|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.