0% found this document useful (0 votes)
16 views6 pages

Overview of Android Operating System

Android is an open-source operating system for mobile devices based on the Linux kernel. It is primarily programmed in Java and was launched in 2007. Since then, it has been improving with new versions that include enhancements and are inspired by desserts. Being open-source allows for a large development community and enables manufacturers to customize it. It is made up of several layers including the Linux kernel, Java APIs, runtime, and pre-installed applications.

Translated by

ScribdTranslations
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views6 pages

Overview of Android Operating System

Android is an open-source operating system for mobile devices based on the Linux kernel. It is primarily programmed in Java and was launched in 2007. Since then, it has been improving with new versions that include enhancements and are inspired by desserts. Being open-source allows for a large development community and enables manufacturers to customize it. It is made up of several layers including the Linux kernel, Java APIs, runtime, and pre-installed applications.

Translated by

ScribdTranslations
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

ANDROID OPERATING SYSTEM

1. DEFINITION:

Android is an open-source operating system for mobile devices, it is programmed


mainly in Java, and its core is based on Linux.

2. HISTORY:

In the past, embedded devices could only be programmed at a low level and the
programmers needed to fully understand the hardware they were working with
programming.

Currently, operating systems abstract the programmer from the hardware. A


A classic example is Symbian. But this type of platform still requires that the
programmer write complicated C/C++ code, making use of libraries
owners. Special complications can arise when working with hardware.
specific, such as GPS, trackballs or touchscreens, etc.

Java ME completely abstracts the programmer from the hardware, but its limitation of
virtual machine significantly limits your freedom to access the device's hardware. This
the situation motivated the emergence of Android, whose first official version (1.1) was released in
February 2009. This coincided with the proliferation of smartphones with touchscreen displays.

Since then, new versions of the operating system have been released, starting from 1.5.
Cupcake call that was based on the Linux kernel 2.6.27 up to version 4.0.x that is
oriented tablets and mobile phones. Each version of the operating system has a
name inspired by pastry, which follows an alphabetical order in relation to the rest
of Android versions (Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice
Cream Sandwich, etc.)
3. OPEN SOURCE:

Both the operating system and the development platform are released under the
Apache license. This license allows manufacturers to add their own extensions.
proprietary, without having to put them in the hands of the free software community.

Being open source, Android makes it possible:

A development community, thanks to its comprehensive APIs and documentation


offered.
Development from any platform (Linux, Mac, Windows, etc.)
An operating system for any type of mobile device, as it is not designed
for a single type of mobile.
Possibility for any manufacturer to design a device that works with
Android, and the possibility of opening the operating system and adapting or extending it
for your device.
Added value for device manufacturers: companies save on the
cost of developing a complete operating system for your devices.
Added value for developers: developers save themselves from having to
program APIs, graphical environments, learn access to hardware devices
particulars, etc.

4. ANDROID SDK:

The Android SDK includes numerous and comprehensive APIs to facilitate development. Some
among the most relevant characteristics are:

Licenses, free distribution and development, there are also no approval processes.
of the software.
Access to WiFi, GPS, Bluetooth, and telephony hardware, allowing to make and
receive calls and SMS.
Complete control of multimedia, including the camera and the microphone.
APIs for sensors: accelerometers and compass.
Messages between processes (IPC).
Shared data warehouses, SQLite, access to SD Card.
Applications and background processes.
Widgets for the home screen (desktop).
Integration of the application search results with those of the system.
Use of maps and their controls from applications.
Hardware-accelerated graphics, including OpenGL ES 2.0 for 3D.

Many of these features are already, in one way or another, available for the SDKs of others.
mobile development platforms. The ones that differentiate Android from the rest are:

Google Maps controls in our applications.


Background processes and services.
Shared content providers and inter-process communication.
No difference between native and third-party applications, all are created the same, with the
same appearance, and with the same possibilities of using the hardware and the APIs.
Desktop widgets.
5. LAYERS:

Android is an open source software stack based on Linux created for a


a wide variety of devices and form factors. The following diagram shows
the main components of the Android platform:

i) LINUX KERNEL:

The basis of the Android platform is the Linux kernel. For example,the time of
Android Runtime (ART)it is based on the Linux kernel for functionalities
underlying, such as subprocess generation and memory management
low level.
The use of the Linux kernel allows Android to take advantagesecurity functions
keysand, at the same time, allows device manufacturers to develop
hardware drivers for a known kernel.

ii) HARDWARE ABSTRACTION LAYER (HAL):

Thehardware abstraction layer (HAL)provides standard interfaces that


they expose the hardware capabilities of the device toAPI framework
from Javaof the highest level. The HAL consists of several library modules and each
one of these implements an interface for a specific type of component
hardware, such as the module of thecameraor ofBluetooth. Withwalking the frame of
the work of an API makes a call to access the device's hardware, the
Android system loads the library module for the hardware component
in question.

iii) ANDROID EXECUTION TIME:

For devices with Android 5.0 (API level 21) or later,


each app runs its own processes with its own instances oftime of
Android Runtime (ART). The ARTit is written to run multiple machines
virtual on low memory devices running DEX files, a format of
bytecode specially designed for Android and optimized to occupy
a minimum memory space. It creates toolchains, such asJack,y
compile Java sources into DEX bytecode that can be executed on the
Android platform.

These are some of the main functions of the ART:

Ahead-of-time (AOT) and just-in-time (JIT) compilation

Optimized collection of unused elements (GC)

In Android 9 (API level 28) and later versions, they are convertedthe
executable format files (DEX) of an application package to a
more compact machine code

This improves compatibility with debugging, the profiler.


of dedicated samples, the detailed diagnostic exceptions and the
failure reports, and the ability to establish checkpoints for
supervise specific fields

Before Android 5.0 (API level 21), Dalvik was the runtime environment of
operating system. If your app runs well on ART, it should also work on
Dalvik, butit is possible that the opposite does not happen.

In Android, a set of runtime libraries is also included.


centers that provide most of the functionality of the language
Java programming; some are includedJava 8 language features,what it uses
Java API framework.

iv) NATIVE C/C++ LIBRARIES:

Many core components and services of the Android system, such as the ART and the
HAL relies on native code that requires native libraries written in C and
C++. The Android platform provides Java framework APIs for
expose the functionality of some of these native libraries to the apps. By
example, you can access toOpenGL ESthrough theJava OpenGL APIdel
Android framework to add drawing support to your app
and the manipulation of 2D and 3D graphics.

If you develop an app that requires C or C++, you can use theAndroid NDKfor
access some of thesenative platform librariesdirectly from
your native code.

v) JAVA API FRAMEWORK:

The entire set of functions of the Android OS is available through API.


written in the Java language. These APIs are the foundation you need to create
Android apps simplifying the reuse of system components and
central and modular services, such as the following:

Asight systemenriched and extensible that you can use to


compile the UI of an app; it includes lists, grids, text boxes,
buttons and even an integrable web browser.

Aresource managerthat gives you access to no-code resources,


as localized strings, graphics, and design files.

Anotification managerthat allows all the apps


show custom alerts in the status bar.

Aactivity managerthat manages the lifecycle of apps and


provides anavigation back stackcommon.

Content providersthat allow apps to access data


from other apps, like the Contacts app, or share their own
data.

The developers have full access to the [Link] APIwhat


They use the apps of the Android system.

vi) SYSTEM APPS:

Android includes a set of core apps for email,


SMS messaging, calendars, internet browsing, and contacts, among others
elements. The apps included in the platform do not have a special status among
the apps that the user chooses to install; for this reason, an external app can become
in the web browser, the SMS messaging system, or even the keyboard
user default (there are some exceptions, such as the Settings app of
system).

System apps function as apps for users and provide capabilities


keys to which developers can access from their own apps. For
For example, if your app tries to deliver an SMS message, it is not necessary for
you compile that functionality yourself; alternatively, you can invoke the app of
SMS that is already installed to deliver a message to the specified recipient.
6) MARKET POSITIONING:

As we can see in the graph, Android has captured a 75.8% market share.
market in Europe, while Apple settles for the largest part of the pie
remaining, 23.5%. In the case of Android, a growth of 1.6 can be observed.
points regarding the fourth quarter of 2017, while Apple has suffered a slight
a drop of 1.3%. It may be thatthe price of the new iPhones might have something to do with [Link] rest of
operating systems are very minority, with Windows Phone holding a 0.6% share and
"Others" with 0.1%.

As for manufacturers, Kantar does not specify the market shares of each one.
although they do affirm that Samsung, Apple, Huawei/Honor, and Xiaomi continue to function well,
having placed this last one infourth [Link], LG, and Wiko, for their part, "are
suffering a disproportionate impact due to its historical interests in the
low and mid-range segments.

You might also like