Mobile devices - Android operating system


 To the Beginning  |  1  |  2  |  3  |  4  |  5  |  Towards the End

 Android - logo           Mobile devices and their program support the work of many firms. Company Android Inc.. founded 2003rd The main activity was the development of software for smart mobile devices. Two years later, Google bought Android to 2007th and initiated the establishment of a consortium OHA (Open Handset Alliance) to create a public standard for mobile devices. Association immediately joined 34 companies in various activities with regard to the mobile industry such as mobile phone manufacturers, application developers, mobile operators and the like, that would now have over 80 members. Immediately after the founding of the association, OHA is a mobile platform based on open source Linux kernels - Android, an open source project (open source project), but device manufacturers are not allowed to use proprietary Android if Google does not certify the device as compatible according to established norms CDD (Compatibility Definition Document). Android is a modular and flexible system is used for devices such as electronic book readers, mobile phones, notebooks, and multimedia devices and more. Just recently stated reason that the author of these lines has decided to describe this operating system, not the iOS which is 'closed' in all elements of the company Apple.

The operating system is based on the Java programming language, has limited resources in terms of processing power and memory capacity versus personal computers because the core and system architecture adapted to run and work in confined conditions as the mobile environment. The main parts of the environment are software applications that use application library (framework), and on the basis of system libraries and system software routines that use the Linux kernel, as shown below.

 Architecture of Android OS
Figure 3.1 Architecture of Android operating system.

The core of the operating system takes care of memory management, process, network interfaces and other systems at the hardware level, it handles basic system services and acts as HAL (Hardware Abstraction Layer), interlayer between the physical hardware and the Android operating system. The creators of the core program support is not available. System libraries are written in C and C++ programming languages because of the speed and performance are tailored to each individual device. special feature of the 'Dalvik virtual system' (the name of software developers and companies Google) that allows execution of multiple virtual machines at a time in order to maximize the potential of the Linux kernel. That is, each application runs in its virtual environment. The system application library is the basis for the development of user applications. Applications that use the Android operating system are the highest layer of the architecture shown. Unlike traditional applications on desktop computers that are running in parallel and with equal priority on this platform shall be one primary application that takes up the whole screen.

Android operating system is based on a modified Linux kernel 2.6, several drivers and libraries is changed or newly developed does not contain the original X-Window system, or support a full set of standard GNU libraries, all in order to enable efficient operation of Android mobile devices.

The biggest difference between Linux and Android revolves around the Java abstraction layer embedded into Android. The Android applications are farther from the actual kernel than in Linux (have a longer code path to the OS layer). In Linux, the user applications (via the libraries and the system call subsystem) have direct kernel access. The kernel is almost hidden deep inside the Android operating environment, as shown at Figure 3.2.

 JNI - Java Native Interface
Figure 3.2 JNI - Java Native Interface.  

Linux operating setup natively incorporates a very rich infrastructure of libraries, debuggers, and development tools that are not accessible by Android. The biggest difference between Linux and Android revolves around the Java abstraction layer embedded into Android. Android based systems utilize their own virtual machine (VM), which is known as the Dalvik Virtual Machine (DVM). The DVM uses special code, hence native Java code cannot directly be executed on Android systems. The DVM implementation is highly optimized in order to perform effectively as possible on mobile devices, that are normally equipped with dual or quad CPU subsystem, limited memory resources, no OS swap space, and limited battery capacity. The DVM has been implemented in a way that allows a device to execute multiple VMs in a rather efficient manner.

Just-in-time (JIT) compiler was incorporated into Android, which translates the Dalvik code into much more efficient machine code. The Java Native Interface (JNI) represents the interface between the Java code (running in a JVM) and the native code running outside the JVM. Androids incorporates its own C library - Bionic. The Bionic library is not compatible with the Linux and has a smaller memory footprint. To illustrate, the Bionic library contains a special thread implementation optimizes the memory consumption of each thread and reduces the startup time of a new thread.

In conclusion, the main components that make up the Android operating environment are very impressive and rapid evolution of the Android system is possible because of the great progress in the work of the Linux community over the years. Android is not a Linux solution in itself, but it uses a modified Linux kernel 2.6, which makes the Android operating environment highly. So, Android is an operating system for mobile devices based on the Linux kernel, which is for mobile devices modified with regard to their greater efficiency.

 To the Beginning  |  1  |  2  |  3  |  4  |  5  |  Towards the End

 Mobile - Start
 Mobile devices  Informatics Alphabet
Citing this page:
Radic, Drago. " IT - Informatics Alphabet " Split-Croatia.
{Date of access}. <>.
Copyright © by Drago Radic. All rights reserved. | Disclaimer