Android OS (Overview)
Android OS (Overview)
Android OS (Overview)
Page | 1
Page | 2
Android Linux Kernel also has some specific components. These are but not
limited to:
a. Android Linux Kernel includes built in power management to enable
mobile device run on battery power;
b. it also has built-in memory sharing and memory management features
because of the limited memory of mobile devices;
c. it also includes inter-process communication mechanism called binder
to allows multiple processes and services share resources in
sophisticated ways.
2. System Libraries and Android Runtime System
The system libraries often referred to as the native library are written in C and
C++. They handle a lot of core performance sensitive activities on Android
devices.
The Android libraries has built-in system C library handling process and thread
creation, mathematical computation, and memory allocation, also, the
System Libraries include:
i.
the Surface Manager for managing and updating the display;
ii.
the Media Framework used for playing back Audio and Video files;
iii. the WebKit for rendering Browser and opening WebPages;
iv. Open GL for high performance graphics; and
v.
SQLite for managing in-memory relational database engine.
The Android Runtime System supports writing and running Android
applications. It has two main components i.e. the Core Java Libraries and the
Dalvik Virtual Machine.
The Core Java Libraries
Android applications are typically written in Java Programming Language. It
provides vast number of reusable Java Building Blocks.
The java.* or javax.* files include basic softwares like common data
structures, concurrency mechanisms and file I/Os. The android.* packages
has software specific to the life cycle of mobile applications. The org.*
Page | 5
The ADT is packed with various softwares used for writing and running
Android Applications on the developers machine. These softwares include
the: Android Emulator;
Eclipse IDE and Plugins;
Android Debugger; and
Lots more.
The Android Emulator
The Android emulator is an application that provides a virtual mobile device
on which you can run your Android applications. It runs a full Android system
stack, down to the kernel level that include a set of preinstalled applications
(such as the dialer) that you can access from your applications. You can
choose what version of the Android system you want to run in the emulator
by configuring AVDs (Android Virtual Devices), and you can also customize the
mobile device skin and key mappings. When launching the emulator and at
runtime, you can use a variety of commands and options to control its
behavior.
The Android system images available through the Android SDK Manager
contain code for the Android Linux kernel, the native libraries, the Dalvik VM,
and the various Android packages (such as the Android framework and
preinstalled applications). The emulator provides dynamic binary translation
of device machine code to the OS and processor architecture of your
development machine.
The Android emulator supports many hardware features likely to be found on
mobile devices, including:
An ARMv5, ARMv7, or x86 CPU
A 16-bit LCD display
One or more keyboards (a Qwerty-based keyboard and associated
Dpad/Phone buttons)
A sound chip with output and input capabilities
Flash memory partitions (emulated through disk image files on the
development machine)
Hibban Buhari
Faculty of Computer Science &
Information Technology,
Bayero University, Kano,
Kano Nigeria.