Saturday 6 October 2018

Architecture of Android Operating System

                       In this post, we will see Architecture of Android Operating System in detail.

                      Check following diagram:
Android architecture consists of four layers and total five sections.

These are as follows:

Layer: Linux Kernel
                     Android is based on Linux kernel 3.6 with 115 patches. This layer consists of Device Drivers. It is also responsible for Memory Management, Process Management etc.

Layer: Libraries
                      This layer is linked with Linux Kernel layer. It consists of various libraries which are used by Linux Kernel layer. These are as follows:

1. Surface Manager: This provides abstraction for showing screen on device i.e. This is responsible for off-screen buffering. Whatever we see on screen, is get buffered first and then shown on the device screen.

2. Media Framework: Provides Media Codecs for allowing recording and playback of different media.

3. SQLite: It is used for application side database.

4. OpenGL/ES: Responsible for graphics.

5. FreeType: Used for managing fonts.

6. WebKit: Provides web browser engine.

7. SGL: Stands for Scalable Graphics Library. Used to manage graphics.

8. SSL: Stands for Secure Socket Layer. Responsible for maintaining Network Security.

9. libC: C language library.

                          This layer is consisted of most important section called as Android Runtime. It involves Dalvik Virtual Machine (DVM). It is similar to the Java Virtual Machine. Difference is that instead of .class files, it uses .dex files. 
                          .class files are heavyweight i.e. they consume more resources. As, we are running android apps on devices like mobile phones/tablet which has limited resources, .class files are not suitable for them. Hence, DVM uses lighter .dex files. 
                          This section also consists of Java libraries like Collection, I/O libraries etc.

Layer: Application Framework
                         This layer provides services to the applications installed on a device.
                         It consists of 

1. Activity Manager: Manages Activity Life Cycle.

2. Window Manager: Manages main window that comprises Application.

3. Content Providers: Helps application to maintain database.

4. View System: Provides common user interface elements like icons, buttons, textfields, labels to the application etc.

5. Notification Manager: Helps application to show notifications.

6. Package Manager: It keeps track of all installed application. It helps application to use or communicate with other applications.

7. Telephony Manager: Manages all voice calls.

8. Resource Manager: To manage resources required for any app.

9. Location Manager: Provides location to the application.

10. XMPP: This is used for messaging.

Layer: Application 
                          This is topmost layer. It consists of all the applications.


No comments:

Post a Comment