Android Operating System

Learn via video courses
Topics Covered

Overview

Android is a free open-source Unix-like mobile operating system. It was developed by a consortium of developers known as the Open Handset Alliance and commercially sponsored by Google. There are now more than 2.5 billion active Android users worldwide.

Android 12 is the latest stable release, at the time of publishing this article. A vast number of mobile phone vendors such as Google, Samsung, Asus, Motorolla, etc to only name a few, feature the Android operating system. Today Android runs on a variety of device types, ranging from smartwatches to smart TVs.

What is an android operating system?

Android uses a modified version of the Linux kernel. It was unveiled in November 2007, with the first commercial Android device, the HTC Dream, launched in September 2008. While Android Open Source Project is a free and open-source project, the various variants of the Android are proprietary. For example, AOSP and its derivatives such as LineageOS, PixelExperience, etc are all free and open-source, while the versions of androids developed/offered by Samsung (OneUI), Huawei (HarmonyOS), etc are not.

Similarly, the Google play services and associated application software (Chrome, Play Store, etc) are all proprietary software. They enable the base Android operating system to support a host of services such as cloud synchronization, data backups and sharing among several devices, communication services, application software distribution, security features, updates, etc.

android-operating-system

Features of the Android Operating System

Following are some of the prominent features and characteristics of the Android O:

  • It supports all major wireless connectivity features such as WiFi, BlueTooth, mobile networks (2G, 3G, 4G, and 5G), NFC (Near Field Communication), SMS, etc.
  • Android uses a modified version of the Linux kernel.
  • Android uses SQLite, a lightweight Database Management System for storage.
  • Android supports multi-tasking, multilinguistic user interface, etc.
  • It supports a variety of use cases such as gaming, web browsing, multimedia, communication, etc.

Architecture of Android OS

Android is a stack of software components that are classified into the following five sections:

1. Linux Kernel

Android uses the popular Linux monolithic kernel that supports several hardware drivers. The kernel is present at the heart of the Android operating system that manages input and output requests from the software. It also provides basic system functionalities such as memory management process management and device management.

linux-kernel

2. Libraries

On top of a Linux, the kennel presents a set of libraries. These libraries include but are not confined to, open-source web browsers such as WebKit, library libc, SQLite libraries, SSL libraries, etc.

3. Android Runtime

Dalvik Virtual Machine (DVM) is a major component present within the Android runtime. It provides functionality similar to Java Virtual Machine (JVM), designed and optimized specifically for android. The Dalvik VM is the process virtual machine in the android operating system. The Dalvik Virtual Machine utilizes the core features of the Linux kernel such as multithreading and process management. The Dalvik Virtual Machine enables each Android application software to run its processes.

4. Application Framework

This layer provides various high-level services to application software, for example, windows management, syste4m views, layouts, resources management, packages management, etc. Software developers are enabled to use these services in their applications.

5. Applications

All the application software collectively forms the top layer. It consists of the various application that might be built-in and required for essential functioning or might be 3rd party application packages for extending the utility of the operating system. An Android application software package file has the extension “apk”. The secure and fast method of discovering and installing Android applications is to use the Google Play store.

Applications of Android Operating System

Java, Dart (Flutter), JavaScript (React Native), and Kotlin are the most used programming languages for developing android applications. After being developed and packaged, an Android application can be hosted on a store such as Google Play Store, F-Droid, Opera Mobile Store, Amazon Appstore, etc.

Android apps are of various classes such as multimedia, web browsers, system utility, social media, etc. Nowadays the concept of hybrid applications is gaining momentum. These applications are built using web technologies such as HTML, CSS, and JavaScript. ReactNative is a popular framework used for creating such applications.

Advantages of the Android Operating System

  • Android is a free and open-source project.
  • Application developers building software for Android can get access to the core programs and the freedom to alter them.
  • Using google play services, Android allows utilizing the Google Cloud platform for data backup, device synchronization, recovery, cloud storage, system updates, etc.
  • Google regularly updates multi0ple Android releases. This keeps the system stable, secure, featureful, and efficient.
  • Android supports 3rd party applications' installation, i.e. one may not have to rely on the Google play store for discovering and installing Android software.
  • Android supports running multiple apps at the same time.
  • Android is a general-purpose operating system. It can be used for gaming, multimedia, web browsing, communication, social media, etc.
  • Because of free and open-source, Android is available on devices of all price ranges and affordability.
  • Android supports applications built from several technologies, such as Flutter, Java, Kotlin, React Native, etc.

Disadvantages of the Android Operating System

  • By default, many applications continually run in the background, thus increasing the consumption of system resources.
  • Android is not confined to only one hardware brand, as is the case with IOS. While this does have a plethora of benefits, one major setback is that the hardware integration of Android is good, but not as much as IOS.
  • In comparison to some other operating systems, such as Symbian, Android's system requirements are relatively more.
  • System updates are not very fast and often in the case of devices running customized/proprietary versions of Android.
  • While Android itself is built under a free and open-source ecosystem, it does not promote free and open-source traits for external application software. The developers are independent of Google/Android in terms of monetizing their published applications.
  • Many brilliant features of Android are unlocked (or can be used to their fullest potential) only once the user has signed in with their Google account on the device. Examples of such services are Data backup, cloud storage, YouTube, etc to only mention a few.
  • There are scarcely any mechanisms for the protection of the system from any bad effects that an explicitly installed 3rd party app may do.

Conclusion

  • Android is a free open-source Unix-like mobile operating system. It was developed by a consortium of developers known as the Open Handset Alliance and commercially sponsored by Google. There are now more than 2.5 billion active Android users worldwide.
  • Android is a stack of software components that are classified into the following five sections:
    • Linux Kernel
    • Libraries
    • Android Runtime
    • Application Framework
    • Applications
  • Java, Dart (Flutter), JavaScript (React Native), and Kotlin are the most used programming languages for developing android applications.
  • Android Open Source Project (AOSP) and its derivatives such as LineageOS, PixelExperience, etc are all free and open-source, while the versions of androids developed/offered by Samsung (OneUI), Huawei (HarmonyOS), etc are not.