Android - Mobile Operating System







    1.Introduction

    A mobile operating system, also called a mobile OS, is an operating system that is specially designed to run on mobile devices such as mobile phones, smartphones, PDAs, tablet computers and other handheld devices. In other words, an operating system which controls mobile devices is called mobile OS. An OS is responsible for determining the functions and features available on mobile devices.

    Examples of mobile operating systems include Apple iOS, Google Android, Research in Motion’s BlackBerry OS, Nokia’s Symbian, Hewlett-Packard’s web OS and Microsoft’s Windows Phone OS.

    The Android mobile operating system is Google’s open and free software stack that includes an operating system, middleware and also key applications for use on mobile devices, including smartphones. Updates for the open source Android mobile operating system have been developed under “dessert-inspired” version names (Cupcake, Donut, Éclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow, Nougat, Oreo, pie) with each new version arriving in alphabetical order with new enhancements and improvements.

    2. Features of Android OS

    i) Interface

    Android’s default user interface is mainly based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, along with a virtual keyboard. Game controllers and full-size physical keyboards are supported via Bluetooth or USB. The response to user input is designed to be immediate and provide a fluid touch interface, often using thee vibration capabilities of the devise to provide haptic feedback to the user. Internal hardware, such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions.

    ii) Applications

    Applications, which extend the functionality of devices, are written using the Android software development kit (SDK) and, often, the Java programming language. Java may be combined with C/C++, together with a choice of non-default runtime that allow better C++ support. The Go programming language is also supported, although a limited set of application programming interfaces (API). (SlideShare, 2017)

    iii) Memory Management

    Since Android devices are usually battery-powered, Android is designed to manage processes to keep power consumption at a minimum. When an application is not in use the system suspends its operations so that, while available for immediate sue rather than closed, it does not use battery power or CPU resources. Android manages the applications stored in memory automatically: when memory is low, the system will begin invisibly and automatically closing inactive processes, starting with those that have been inactive for the longest amount of time.

    These are some basic features provided by android:

    • Android supports wireless communication using:
      •  3G Networks,
      • 4G Networks,
      • Wi-Fi Networks,
      • Bluetooth Connectivity
    • Android applications can be developed using SDK and java emulator 
    • Open source – Free development platform
    • Built in services like GPS, SQL Database, browser and maps
    • Portability across current and future hardware

    3. Versions of Android OS

    • Android Astro 1.0 (September 23, 2008)
    • Android Cupcake 1.5 (April 30, 2009)
    • Android Donut 1.6 (September 15, 2009)
    • Android Éclair 2.0/2.1 (October 26, 2009)
    • Android Froyo 2.2 (May 20, 2010)
    • Android Gingerbread 2.3 (December 6, 2010)
    • Android Honeycomb 3.0 (February 22, 2011)
    • Android Ice Cream Sandwich 4.0 (November 14, 2011)
    • Android Jelly Bean 4.1 (June 27, 2012)
    • Android KitKat 4.4 (October 31, 2013)
    • Android Lollipop 5.0 (November 12, 2014)
    • Android Marshmallow 6.0 (May 28, 2015)
    • Android Nougat 7.0 (August 22, 2016)
    • Android Oreo 8.0 (August 21, 2017)
    • Android Pie 9.0 (March 7, 2018)

    4. Architecture of Android OS

    The architecture of android consists of the following components:

    • Linux kernel
    • Libraries
    • Android run time
      • Core libraries
      • Dalvik virtual machine
    • Application layer
    • Application framework


    Figure 4.1 Major Components of Android OS


    i) Application Framework

    The application architecture includes the following components:

    • Activity manager – manages application life cycle
    • Android provides a set of core applications:
    • Email Client
    • SMS Program
    • Calendar
    • Maps
    • Browser
    • Contacts, etc.
    • All applications are written using the Java language
    • APIs: Data Structures, Utilities, File Access, Network Access, Graphics, etc.

    ii) Libraries

    Android includes a set of C/C++ libraries used by various components of the Android system. These  capabilities are exposed to developers through the Android application framework. Some of core libraries are: System C library, Media Libraries, Surface Manager, Lib Web Core, SGL, 3D libraries, Free Type, SQLite.

    iii) Android Runtime

    Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language. Every Android application runs in its own process, with its own instances of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint.

    iv) Linux Kernel

    Android architecture is based on Linux 2.6 kernel. 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.

    Author: Dharmendra Joshi 

    0 Comments