In: Computer Science
Describe in detail five main images of the Android OS. Be sure to define what each part does for the overall OS.
What is Android?
Android is an open source and Linux-based Operating System for mobile devices such as smartphones and tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other companies.
Android offers a unified approach to application development for mobile devices which means developers need only develop for Android, and their applications should be able to run on different devices powered by Android.
The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007 where as the first commercial version, Android 1.0, was released in September 2008.
On June 27, 2012, at the Google I/O conference, Google announced the next Android version, 4.1 Jelly Bean. Jelly Bean is an incremental update, with the primary aim of improving the user interface, both in terms of functionality and performance.
The source code for Android is available under free and open source software licenses. Google publishes most of the code under the Apache License version 2.0 and the rest, Linux kernel changes, under the GNU General Public License version 2.
Why Android ?
Features of Android
Android is a powerful operating system competing with Apple 4GS and supports great features. Few of them are listed below −
Sr.No. | Feature & Description |
---|---|
1 |
Beautiful UI Android OS basic screen provides a beautiful and intuitive user interface. |
2 |
Connectivity GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX. |
3 |
Storage SQLite, a lightweight relational database, is used for data storage purposes. |
4 |
Media support H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP. |
5 |
Messaging SMS and MMS |
6 |
Web browser Based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine supporting HTML5 and CSS3. |
7 |
Multi-touch Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. |
8 |
Multi-tasking User can jump from one task to another and same time various application can run simultaneously. |
9 |
Resizable widgets Widgets are resizable, so users can expand them to show more content or shrink them to save space. |
10 |
Multi-Language Supports single direction and bi-directional text. |
11 |
GCM Google Cloud Messaging (GCM) is a service that lets developers send short message data to their users on Android devices, without needing a proprietary sync solution. |
12 |
Wi-Fi Direct A technology that lets apps discover and pair directly, over a high-bandwidth peer-to-peer connection. |
13 |
Android Beam A popular NFC-based technology that lets users instantly share, just by touching two NFC-enabled phones together. |
History of Android
The code names of android ranges from A to N currently, such as Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat, Lollipop and Marshmallow. Let's understand the android history in a sequence.
Android OS Architecture
Android operating system is a stack of software components which is roughly divided into five sections and four main layers as shown below in the architecture diagram. The components of android operating system are
Linux kernel
Bottom layer of android operating system is Linux kernel. Android is built on top of Linux 2.6 Kernel and few architectural changes made by Google. Linux Kernel provides the basic system functionality such as process management, memory management and device management like camera, keypad, display etc. It also provides array of device drivers which makes interfacing the android with peripheral hardware easy.
Libraries
On the top of Linux Kernel another layer called libraries is present. It provides the different libraries useful for well functioning of android operating system. Libraries are java libraries build specific for android operating system. Some of important libraries are
Library | Explanation |
---|---|
SQLite | This library is used to access data published by content providers and includes SQLite database management classes |
SSL | This is used to provide internet security |
OpenGL | OpenGL is used to provide Java interface to the OpenGL/ES 3D graphics rendering API. |
Media framework | It is used to provides different media codecs which allow the recording and playback of different media formats |
WebKit | It is the browser engine used to display internet content or HTML content |
Web browser | Based on the open-source WebKit layout engine, coupled with Chrome’s V8 JavaScript engine supporting HTML5 and CSS3. |
Android Runtime
It is the third component of the android architecture and placed in second layer from bottom. It provides most important part of android called Dalvik Virtual Machine. Dalvik Virtual Machine is similar to Java Virtual Machine (JVM) but only difference is that it is designed and optimized for Android. Dalvik Virtual machine uses core functions of Linux such as memory management and multi threading and enables each android app to run its own process.
The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language.
Application framework
It is fourth component in android operating system stack. Android applications directly interacts with application framework. Application framework manages the basic functions of android device such as resource management, voice call management etc. Application Framework layer provides many higher-level services to applications in the form of Java classes. Application developers are allowed to make use of these services in their applications. The important blocks of application framework are
AP Block | Explanation |
---|---|
Activity Manager | Used to manage complete activity life cycle of applications |
Content Providers | Used to manage the data sharing between two applications |
Telephony Manager | Used to manages all voice calls |
Location Manager | Used to manage the Locations obtained using GPS or cell tower |
Resource Manager | Used to manage the different types of resources used in android app |
Applications
Android application is the fifth competent of android OS and situated at the top layer. Applications are developed to be installed on this layer only. Examples of such applications are Contacts Books, Browser, Games, etc.
Evolution of Android
The Android operating system made its debut as a Google property in late 2008 on the T-Mobile G1. This version was known as Android 1.0, and was lauded for its pull-down notification system. Android 1.1 was released early 2009 and mostly dealt with bug fixes and minor improvements. Android 1.0 was also known as "Alpha," and Android 1.1 was also known as "Beta."
Image: T-Mobile
Android 1.5, also known as "Cupcake," was the first version to carry the dessert name theme. The main features of Android 1.5 were the on-screen keyboard, video capabilities, and the ability for developers to create their own widgets.
Image: CNET
Google released Android Donut late in 2009, introducing features and updates that were mostly under the hood. Android 1.6 introduced the ability of Android to run on different aspect ratios and resolutions, and opened it up to CDMA devices.
Image: Samsung
Android 2.0 launched on the original Motorola Droid on Verizon very shortly after the launch of Android Donut. The new UI design was the most dramatic visual change to the OS, and Eclair brought support for multiple Google accounts on a single device. Eclair ran from version 2.0–2.1.
Image: CNET
Summer 2010 saw the introduction of Android 2.2 Froyo, first available for update on the Nexus One device. With Froyo, the phone and browser were no longer separate widgets, but were anchored to the bottom on the home screen. Froyo ran from version 2.2–2.2.3.
Image: Google
Android 2.3 launched in tandem with the Samsung-produced Nexus S phone. Gingerbread provided support for front-facing cameras, as well as providing many minor changes in design and performance. Gingerbread ran from version 2.3–2.3.7.
Image: CNET
Honeycomb was Google's first real attempt at a tablet OS, and it was met with mixed reviews. The main noticeable features of Android 3.0 were its UI design and widget layout, as they were quite a departure from past Android versions. Honeycomb ran from version 3.0–3.2.6.
Image: Motorola
Face Unlock and Android Beam were among the key features announced with the rollout of Android 4.0 Ice Cream Sandwich. Roboto took the place as the default text and a customizable favorites tray made its way to the bottom of the home screen. Ice Cream Sandwich ran from version 4.0–4.0.4.
Image: CNET
The 2012 I/O developer conference saw Google announce Jelly Bean, Android version 4.1. Google Now was, without a doubt, the biggest feature of this Android version, which also introduced some minor design tweaks and predictive text. Android 4.2 introduced multiple user profiles on a single device and was around the same time as the release of Google Play edition smartphones. Jelly Bean ran from version 4.1–4.3.1.
Image: Josh Miller/CNET
KitKat was yet another Android version to launch alongside a new Nexus device, this time being the Nexus 5. Google Now landed on the home screen and the dialer got a refresh, as well as some other changes to design and productivity. KitKat ran from version 4.4–4.4.4.
Image: Josh Miller/CNET
Android Lollipop will be the first Android version to make use of Google's new Material Design. It also adds some new security features, notification updates, and enhanced multiple user access.
Image: Google