The Android – A Widely Growing Mobile Operating System

DOI : 10.17577/IJERTCONV5IS03034

Download Full-Text PDF Cite this Publication

Text Only Version

The Android – A Widely Growing Mobile Operating System

1Khushboo Agarwal,

1Computer Science & Engineering, GITAM, Kablana, Jhajjar, Haryana, India

2 Ms. Sonia Chaudhary

2Assistant Professor

Department of Computer Science & Engineering, GITAM, Kablana, Haryana, India

Android operating system is one of the most widely used mobile Operating System these days and also enhancing its use for making betterment in different areas of life. Android mobile operating system is based on the Linux kernel and is developed by Google and primarily designed for smartphones and tablets. Android Operating System consist of four main layers, the specifying architecture is given in this paper. The advanced Smart applications of android in mobile, real-time and wireless sensor network are widening their service areas. Android is a disruptive technology, which was introduced initially on mobile handsets, but has much wider potential. In this paper we are studying, about Android operating system.

Index TermsAndroid, Operating System, Versions, Advantages

I. INTRODUCTION

With the worldwide proliferation of handheld devices, reliability, availability, connectivity, as well as performance related concerns, similar to the once encountered on traditional IT server systems, became paramount. On the smart phone and internet tablet side, one of the fastest growing solutions are Android based products. Android based systems get a lot of exposure in the media. Some people label Androidas a Linux solution, which really does not reflect the facts.

Today, Android Operating System is powered in billions of mobile devices in more than 180 countries across the world. According to the new research done, many million mobile devices that are powered by Android are activated every day.It is a Linux based mobile operating system that is programmed in C and C++ with Java User-interface. Moreover, Android is an open source platform that allows mobile app developers to create Android based apps without even paying license fees.

  1. COMPONENTS OF ANDROID

    Android components are the essential building blocks of an Android application. Each component is a different point through which the system can enter your application.

    There are four different types of app components. Each type serves a distinct purpose and has a distinct lifecycle that defines how the component is created and destroyed.

    Fig.1 – Component of Android

    Here are the four types of app components:

    Activities: An activity represents a single screen with a user interface. For example, an email application might have one activity that shows a list of emails, another activity to create an email, and another activity for reading emails. Although the activities work together to form a cohesive user experience in the email app, each one is independent of the others. For example, a camera app can start the activity in the email app that composes new mail, in order for the user to share a picture.

    Services: A service is a component that execute in the background to perform lengthy operations or to perform work for remote processes. A service does not provide a user interface. For example, a service might run music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity. Content providers: A content provider manages a shared set of app data. You can store the data in the file system, a SQLite database, on the web, or any other persistent storage location your app can access. Through content provider, other applications can query or even modify the data (if the content provider allows it). For example, the Android system provides a content provider that manages the user's contact information. As such, any app with the proper permissions can query part of the content provider to read and write information about a particular person.

    Broadcast receivers: A broadcast receiver is a component that responds to system-wide broadcast announcements. Many broadcasts originate from the systemfor example, a broadcast announcing that the screen has turned off, the battery is low, or a picture was captured. Apps can also

    initiate broadcastsfor example, to let other apps know that some data has been downloaded to the device and is available for them to use. Although broadcast receivers don't display a user interface, they may create a status bar notification to alert the user when a broadcast event occurs. or instance, it might initiate a service to perform some work based on the event.

  2. ARCHITECTURE OF ANDROIDOPERATING

    SYSTEM

    Android operating system is a stack of software components. Main components of Android Operating system Architecture or Software Stack are Linux kernel, native libraries, Android Runtime, Application Framework and Applications.

    Fig. 2 -Architecture of Android Operating System

    Functions of Layers are following:-

    1. Linux Kernel: Linux Kernel (Linux 2.6) is at the bottom layer of the software stack. Whole Android Operating System is built on this layer with some changes made by the Google.Android operating system interacts with the hardware of the device with this layer. This layer also contains many important hardware device drivers.

      Linux kernel is also responsible for managing virtual memory, networking, drivers, and power management. Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6.25.

    2. Native Libraries Layer: On the top of the Linux Kernel layer is Android's native libraries. This layer enables the device to handle different types of data. All these libraries are written in C or C++ language. These libraries are called through java interface. Some important native libraries are:

      • Surface Manager: It is used to manage display of device. Surface Manager used for composing windows on the screen.

      • SQLite: SQLite is the database used in android for data storage. It is relational database and available to all applications.

      • WebKit: It is the browser engine used to display HTML content.

      • Media framework: Media framework provides playbacks and recording of various audio, video and picture formats. Free Type: Bitmap and Font Rendering

      • OpenGL | ES: Used to render 2D or 3D graphics content to the screen.

      • Libc: It contains System related C libraries.

    3. Android Runtime: Android Runtime consists of Dalvik Virtual machine and Core Java libraries. It is located on the same level as the library layer. Dalvik Virtual Machine is a type of Java Virtual Machine used for running applications on Android device. The Dalvik VM enables every Android application to run in its own process, with its own instance of the Dalvik virtual machine.

      The Dalvik VM allows multiple instance of Virtual machine to be created simultaneously providing security, isolation, memory management and threading support. Unlike Java VM which is process-based, Dalvik Virtual Machine is register-base.

    4. Application Framework: The Application Framework layer provides many higher-level services or major APIs to applications in the form of Java classes. Application developers are allowed to make use of these services in their applications. These are the blocks with which developer's applications directly interact. Important blocks of Application framework are:

      • Activity Manager: It manages the life cycle of applications.

      • Content Providers It is used to manage the data sharing between applications, manages how to access data from other applications.

      • Telephony Manager: it manages all voice call related functionalities.

      • Location Manager: It is used for Location management, using GPS or cell tower.

      • Resource Manager: Manage the various types of resources used in Application.

    5. Application Layer: The Applications Layer is the top layer in the Android architecture. Some applications come pre-installed with every device, such as: SMS client app, Dialer, Web browser and Contact manager. A developer can write his own application and can replace it with the existing application.

  3. VERSIONS OF ANDROID

    The version history of the Android mobile operating system began with the release of the Android alpha in November 2007. The first commercial version, Android 1.0, was released in September 2008. Android is continually developed by Google and the Open Handset Alliance (OHA), and has seen a number of updates to its base operating system since the initial release.

    Versions 1.0 and 1.1 were not released under specific code names, but since April 2009's Android 1.5 "Cupcake", Android versions have had confectionery- themed code names. Each is in alphabetical order, with the most recent being Android 7.0 "Nougat", released in August 2016.

    Fig.3 Versions of Android OS

    Various layers with their features:-

    Cupcake: On April 27, 2009, the Android 1.5 update was released based on Linux kernel 2.6.27. This was the first release to officially use a codename based on a dessert item ("Cupcake"), a theme which would be used for all releases henceforth. The update included several new features and UI amendments:-

    • Support for third-party virtual keyboards with text prediction and user dictionary for custom words

    • Support for Widgets miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates

    • Video recording and playback in MPEG-4 and 3GP formats

    • Auto-pairing and stereo support for Bluetooth (A2DP and AVRCP profiles)

      Donut: On September 15, 2009, the Android 1.6 SDK dubbed Donut was released, based on Linux kernel

      2.6.29. Included in the update were numerous new features:

    • Voice and text entry search enhanced to include bookmark history, contacts, and the web

    • Ability for developers to include their content in search results

    • Multi-lingual speech synthesis engine to allow any Android application to "speak" a string of text

    • Easier searching and ability to view app screenshots in Android Market

      Eclair:On October 26, 2009, the Android 2.0 SDK was released, based on Linux kernel 2.6.29 and codenamed Eclair. Changes include the ones listed below:

    • Expanded Account sync, allowing users to add multiple accounts to a device for synchronization of email and contacts

    • Microsoft Exchange email support, with combined inbox to browse email from multiple accounts in one page

    • Bluetooth 2.1 support

    • Ability to tap a Contacts photo and select to call, SMS, or email the person

    • Addition of live wallpapers, allowing the animation of home-screen background images to show movement.

      Froyo:On May 20, 2010, the SDK for Android 2.2 (Froyo,short for frozen yogurt) was released, based on Linux kernel 2.6.32. Changes include the ones listed below:

    • Speed, memory, and performance optimizations

    • Additional application speed improvements, implemented through JIT compilation

    • Integration of Chrome's V8 JavaScript engine into the Browser application

    • Support for the Android Cloud to Device Messaging (C2DM) service, enabling push notifications

    • Improved Microsoft Exchange support, including security policies, auto-discovery, GAL look-up, calendar synchronization and remote wipe

      Gingerbread: On December 6, 2010, the Android 2.3 (Gingerbread) SDK was released, based on Linux kernel

      2.6.35. Changes included:

    • Updated user interface design with increased simplicity and speed

    • Support for extra-large screen sizes and resolutions (WXGA and higher)

    • Native support for SIP VoIP internet telephony

    • Faster, more intuitive text input in virtual keyboard, with improved accuracy, better suggested text and voice input mode

    • Enhanced copy/paste functionality, allowing users to select a word by press-hold, copy, and paste

    • Support for Near Field Communication (NFC), allowing the user to read an NFC tag embedded in a poster, sticker, or advertisement

      Honeycomb:On February 22, 2011, the Android 3.0 (Honeycomb) SDK the first tablet-only Android update was released, based on Linux kernel 2.6.36. The first device featuring this version, the Motorola Xoom tablet, was released on February 24, 2011.The update's features included:

    • Optimized tablet support with a new holographic user interface

    • Added System Bar, featuring quick access to notifications, status, and soft navigation buttons, available at the bottom of the screen

    • Added Action Bar, giving access to contextual options, navigation, widgets, or other types of content at the top of the screen

    • Simplified multitasking tapping Recent Applications in the System Bar allows users to see snapshots of the tasks underway and quickly jump from one application to another

    • Ability to encrypt all user data

    • HTTPS stack improved with Server Name Indication (SNI)

      Ice Cream Sandwich: The SDK for Android 4.0.1 (Ice Cream Sandwich), based on Linux kernel 3.0.1 was publicly released on October 19, 2011.Google's Gabe Cohen stated that Android 4.0 was "theoretically compatible" with any Android 2.3.x device in production at that time.[79] The source code for Android 4.0 became available on November 14, 2011.Ice Cream Sandwich was the last version to officially support Adobe Systems' Flash player. The update introduced numerous new features:

    • Major refinements to the "Holo" interface with new Roboto font family

    • Soft buttons from Android 3.x are now available for use on phones

    • Separation of widgets in a new tab, listed in a similar manner to applications

    • Easier-to-create folders, with a drag-and-drop style

    • Improved visual voicemail with the ability to speed up or slow down voicemail messages

    • Pinch-to-zoom functionality in the calendar

    • Integrated screenshot capture (accomplished by holding down the Power and Volume-Down buttons)

    • Improved error correction on the keyboard

    • Ability to access applications directly from lock screen

      Jelly Bean: Google announced Android 4.1 (Jelly Bean) at Google conference on June 27, 2012. Based on Linux kernel 3.0.31, Jelly Bean was an incremental update with the primary aim of improving the functionality and performance of the user interface. The performance improvement involved "Project Butter", which uses touch anticipation, buffering, extended vsync timing and a fixed frame rate of 60 fps to create a fluid and "buttery-smooth" UI. Android 4.1 Jelly Bean was released to the Android Open Source Project on July 9, 2012, and the Nexus 7 tablet, the first device to run Jelly Bean, was released on July 13, 2012. The update introduced numerous new features: Smoother user interface:

    • Vsync timing across all drawing and animation done by the Android framework, including application rendering, touch events, screen composition and display refresh

    • Triple buffering in the graphics pipeline

    • CPU input boost

    • Synchronizin touch to vsync timing

    • Enhanced accessibility

    • Bi-directional text and other language support

      KitKat: Google announced Android 4.4 KitKat on September 3, 2013. Although initially under the "Key Lime Pie" ("KLP") codename, the name was changed because "very few people actually know the taste of a key lime pie. Some technology bloggers also expected the "Key Lime Pie" release to be Android 5.KitKat debuted on Google's Nexus 5 on October 31, 2013, and was optimized to run on a greater range of devices than earlier Android versions, having 512 MB of RAM as a recommended minimum; those improvements were known as "Project Svelte" internally at Google. The required minimum amount of RAM available to Android is 340 MB, and all devices with less than 512 MB of RAM must report themselves as "low RAM" devices. Various changes:

    • Refreshed interface with white elements instead of blue

    • Clock no longer shows bold hours; all digits are thin. The H, M, and S markings for the stopwatch and timer have been removed, leaving just the numbers.

    • Ability for applications to trigger translucency in the navigation and status bars

    • Ability for applications to use "immersive mode" to keep the navigation and status bars hidden while maintaining user interaction

    • Action overflow menu buttons are always visible, even on devices with a "Menu" key, which was officially deprecated by Android 4.0.

    • Restriction for applications when accessing external storage, except for their own directories

    • Disabled access to battery statistics by third-party applications

    • Settings application no longer uses a multi-pane layout on devices with larger screens

    • Wi-Fi and mobile data activity (TX/RX) indicators are moved to quick settings

    • Disables text wrapping in the Web Views browser component.

      Lollipop: Android 5.0 "Lollipop" was unveiled under the codename "Android L" on June 25, 2014, during Google I/O. It became available as official over-the-air (OTA) updates on November 12, 2014, for select devices that run distributions of Android serviced by Google, including Nexus and Google Play edition devices. Its source code was made available on November 3, 2014.

      Lollipop features a redesigned user interface built around a responsive design language referred to as "material design". Other changes include improvements to the notifications, which can be accessed from the lock screen and displayed within applications as top-of-the-screen banners. Furthermore, Google made internal changes to the platform, with the Android Runtime (ART) officially replacing Dalvik for improved application performance, and with changes intended to improve and optimize battery usage, known internally as Project Volta.

      Android Runtime (ART) with a head and improved garbage collection (GC), replacing Dalvikthat combines byte code interpretation with trace-based just-in-time (JIT) compilation

    • Support for 64-bit CPUs

    • OpenGL ES 3.1 and Android Extension Pack (AEP) on supported GPU configurations

    • Recent activities screen with tasks instead of applications, up to a configured maximum of tasks per application

    • Vector drawables, which scale without losing definition

    • Support for print previews

    • Block-based over-the-air (OTA) updates for new devices

      Marshmallow: Android 6.0 "Marshmallow" was unveiled under the codename "Android M" during Google I/O on May 28, 2015, for the Nexus 5 and Nexus 6 phones, Nexus 9 tablet,

      and Nexus Player set-top box, under the build number MPZ44Q.The third developer preview (MPA44G) was released on August 17, 2015 for the Nexus 5, Nexus 6, Nexus 9 and Nexus Player devices,and was updated to MPA44I that brought fixes related to Android for Work profiles.

    • Google "Now on Tap" feature

    • Introduction of Doze mode, which reduces CPU speed while the screen is off in order to save battery life

    • App Standby feature

    • Alphabetically accessible vertical application drawer

    • Application search bar and favorites

    • Native fingerprint reader support

    • Direct Share feature for target-specific sharing between apps

    • Renamed "Priority" mode to "Do Not Disturb" mode

      Nougat:Android "Nougat" (codenamed N in-development) is the major 7.0 release of the Android operating system. It was first released as a developer preview on March 9, 2016, with factory images for current Nexus devices, as well as with the new "Android Beta Program" which allows supported devices to be upgraded directly to the Android Nougat beta via over-the-air update. Final release was on 22 August 2016. The final preview build was released on 18 July 2016with the build number NPD90G.

    • Ability to display color calibration

    • Ability to screen zoom

    • Ability to switch apps by double tapping in overview button

    • Added Emergency information part

    • Added the "Clear All" button in Overview screen

    • Another system partition, which gets updated when not in use, allowing for seamless system updates

    • Daydream virtual reality platform (VR interface)

    • Improved Doze functionality, which aims to prolong battery life

    • Improvements to file browser

    • More Quick Settings options

    • Multi-window support, which supports floating apps on a desktop layout.

  4. ADVANTAGES

      • Supports 2D, 3D graphics: It supports various platforms like 2D and 3D. Earlier we used to watch movies and play games in almost in 2D, but nowadays various applications are using 3D format. To provide different graphics in videos, games OS should support 3D format. Android supports 2D And 3D format to provide a better advantage in videos and in games

      • Supports Multiple Languages: Android supports different languages. We can say all famous languages about more than 100. By using this feature it is easy to adopt to different languages. Earlier in the feature phones English is to be the only language in the mobile devices.

      • Java Support: The Java supporting feature enables developers to enhance more features. As it supports Java, operating can be developed.

      • Additional Hardware Support: Any hardware can be easily connected with the Android based devices easily. We can make a device to connect internally to get more features.

      • Video Calling: Faster data connection enables to do video call. We can take advantage of bandwidth and new generation networks using Android.

      • Open Source Framework: It makes users to make their own applications and to make changes required for them. Enthusiasts can make Android more powerful and useful by developing themselves. As it is an open source operating system, we can use it easily and without cost in the equipments.

      • Uses of Tools are Very Simple: It makes use of a single button to do more than assigned work. For example volume control button can be made to click a photo by changing simple algorithm in the android.

      • Availability of Apps: Anyone can make use lot of free apps in the app store and from other android stores. It gives freedom to install from third party users.

  5. CONCLUSION

As Mobile software development has evolved over time. From above discussion it is clear that Android Operating System has emerged as a new mobile development platform. Android was designed to empower the developer to write innovative applications and their own source code. The platform is open source, with no upfront fees, and developers enjoy may benefits over other competing platforms. We see the Android architecture which is most important to develop applications in different sectors of our life. We see that Android is continuously growing and fastest acceptable platform. The time finally arrived when our Android OS would get a quick makeover and offer us with either some more simple or extravagant changes. Android is a truly open, free development platform based on Linux and open source and many application development tools are freely available on the internet.

REFERENCES

  1. https://www.cmg.org/wp-content/uploads/2011/04/m_78_3.pdf

  2. https://www.ijeas.org/download_data/IJEAS0202022.pdf

  3. https://developer.android.com/guide/components/fundamentals.html

  4. http://ijcsma.com/publications/january2015/V3I109.pdf

  5. https://en.wikipedia.org/wiki/Android_version_history

  6. http://www.edgefxkits.com/blog/android-operating-system- advantages/

Leave a Reply