Tuesday, 15 January 2019

Android System Architecture

The Android software stack generally consists of a Linux kernel and a collection of C/C++ libraries which provides services, and management of the applications and run time.
Android architecture or Android software stack is categorized into five parts:
1.    Linux kernel
2.    Native libraries (middleware),
3.    Android Runtime
4.    Application Framework
5.    Applications

A)Linux Kernel
It is the heart of android architecture that exists at the root of android architecture. Linux kernel is responsible for device drivers, power management, memory management, device management and resource access. The features of Linux kernel are:

1.    Security:

The Linux kernel handles the security between the application and the system.

2.    Memory Management:

It efficiently handles the memory management thereby providing the freedom to develop our apps.

3.    Process Management:

It manages the process well, allocates resources to processes whenever they need them.

4.    Driver Model:

It ensures that the application works. Hardware manufacturers can build their drivers into the Linux build.

(B)Native libraries (middleware)

The WebKit library is responsible for browser support, SQLite is for database, FreeType for font support, Media for playing and recording audio and video formats .It includes:

1.    The Android runtime:

The Android runtime consist of core libraries of Java and ART(the Android RunTime). Older versions of Android (4.x and earlier) had Dalvik runtime.

2.    Open GL(graphics library):

This cross-language, cross-platform application program interface (API) is used to produce 2D and 3D computer graphics.

3.    WebKit:

This open source web browser engine provides all the functionality to display web content and to simplify page loading.

4.    Media frameworks:

These libraries allow you to play and record audio and video.

5.    Secure Socket Layer (SSL):

These libraries are there for Internet security.

C) Android Runtime

In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is responsible to run android application. DVM is like JVM but it is optimized for mobile devices. It consumes less memory and provides fast performance.

D) Android Framework

On the top of Native libraries and android runtime, there is android framework. Android framework includes Android API's such as UI (User Interface), telephony, resources, locations, Content Providers (data) and package managers. It provides a lot of classes and interfaces for android application development. It includes:

1.    Activity Manager:

It manages the activity lifecycle and the activity stack.

2.    Telephony Manager:

It provides access to telephony services as related subscriber information, such as phone numbers.

3.    View System:

It builds the user interface by handling the views and layouts.

4.    Location manager:

It finds the device’s geographic location.

(E)Applications:

Android applications can be found at the topmost layer. At application layer we write our application to be installed on this layer only. All applications such as home, contact, settings, games, browsers are using android framework that uses android runtime and libraries. Android runtime and native libraries are using linux kernel.
 Examples: Games, Messages, Contacts etc.

1 comment:

  1. You don't realize how quickly technology is changing. Data science is highly technical and is therefore in high demand. A career in data science will open up many lucrative job opportunities. So, if you have been wanting to start your career in Data Science, now is the best time to enroll in a data science program with one of the best data science training institute in noida.

    ReplyDelete

Global Infrastructure and its components in AWS

You may operate your workloads wherever and however you choose with the AWS Global Infrastructure, and you'll use the same network, cont...