An operating system is a software program that manages and operates computing devices such as smartphones, tablets, computers, supercomputers, web servers, cars, network towers, smartwatches, etc. The operating system removes the need to understand coding languages to interact with computing devices. A graphical user interface (GUI) layer connects the user and the computer hardware. Moreover, the operating system manages a computer's software and controls program execution.
In this article, we shall be discussing the Android Operating System, so let's move to the topic.
(Also see, Types of Operating Systems, Multiprogramming vs Multitasking)
Google's Android operating system is a mobile operating system designed primarily for touchscreen devices, cell phones, and tablets. Its design enables users to manipulate mobile devices implicitly, with finger movements that simulate typical motions like pinching, swiping, and tapping.
It is open-source and free software. The source code is provided by the Android Open Source Project (AOSP), which is primarily certified under the Apache License. However, most Android devices come pre-installed with additional software, mainly Google Mobile Services (GMS), including fundamental apps like Google Chrome, the digital distribution platform Google Play, and the associated Google Play Services development platform.
Also Read, FCFS Scheduling Algorithm
Features of Android Operating System
Below are some of the features of the Android OS:-
- Near Field Communication (NFC)
- Infrared Transmissio
- Wireless App Downloads
- Storage and Battery Swap
- Custom Home Screens
- Widgets
- Custom ROMs
- Automation
1. Near Field Communication
Most Android devices support NFC, enabling electronic systems to interact over short distances. The main aim here is to create a payment option that is more convenient than carrying credit cards or cash. While the market didn't have as many experts predicted, an alternative in the form of Bluetooth Low Energy may be in the works (BLE).
2. Infrared Transmission
The Android operating system includes an infrared transmitter that lets you utilize your phone or tablet as a remote control.
3. Wireless App Downloads
Meanwhile, using the Android Market or third-party options such as AppBrain allows you to download apps on your PC and automatically sync them to your Droid without any obstruction.
4. Storage and Battery Swap
Android phones have exceptional hardware capabilities as well. Google's operating system allows you to remove and upgrade your battery or replace one that no longer holds a charge. Moreover, Android phones include SD card slots for expandable storage.
5. Custom Home Screens
It is possible to hack certain phones to personalize the home screen. Android includes this feature from the start. You install a third-party app launcher such as Nova, Apex, or Slide, which allows you to add gestures, new shortcuts, and even performance improvements for older-model devices.
6. Widgets
Apps are helpful, but sometimes you want information at a glance rather than opening an app and waiting for it to load. Android widgets allow you to display almost any feature you wish to the right on your home screen, such as weather apps, music widgets, or productivity tools that remind you of upcoming meetings or approaching deadlines.
7. Custom ROMs
This is significant. Because the Android operating system is open-source, the developers can modify it and create their versions, which users can download and install instead of the stock OS. Some are packed with features, while others alter the appearance and feel of a device. If there's a feature you need, someone has already created a custom ROM.
8. Automation
Automation allows users to streamline and simplify repetitive tasks. It enables the creation of customized routines by automating actions and settings based on triggers, such as time, location, or specific events. This feature enhances productivity and convenience by reducing manual interactions and adapting the device to users' needs. The Tasker app allows control of app permissions and also automates them.
Architecture of Android OS
The Android architecture contains a variety of components to fulfill the demands of any android device. Android software includes Linux Kernel with multiple C/C++ libraries usable via application framework services.
Among all the components, the Linux Kernel provides the primary operating system functions to the Smartphone, while the Dalvik Virtual Machine (DVM) provides a platform for running an Android application. An android operating system is a collection of software components divided into five sections and five main layers.
1. Applications
The topmost layer of the Android architecture is an application. This layer will contain pre-installed applications such as the camera, gallery, home, contacts, and so on, and third-party applications can be downloaded from the play store such as games, chat applications, etc. It uses the courses and benefits of the application framework to run within the Android run time.
2. Application Framework
The Application Framework contains several functional classes for developing Android applications. It provides a general abstraction for hardware access and aids in managing the user interface with application resources. In general, it provides services through which we can create a specific class to make that valuable class for building applications.
3. Application runtime
The Dalvik virtual machine and core libraries are part of the Android Runtime environment (DVM). It serves as a foundation for the application framework, and, with the help of the core libraries, it powers our application. Dalvik Virtual Machine (DVM), like the Java Virtual Machine (JVM), is a register-based simulated machine designed and optimized for Android to ensure that multiple instances can run simultaneously. The Linux kernel layer handles threading and low-level memory management. The core libraries allow us to create Android apps using standard JAVA or Kotlin programming languages.
4. Platform Libraries
To support Android development, the System Libraries include various C/C++ core library functions and Java-based library resources such as Media, Graphics, Surface Manager, OpenGL, and others. By utilizing these Platform Libraries, developers can leverage pre-existing code and resources, saving time and effort in creating Android applications.
5. Linux Kernel
The Linux Kernel is the brains behind Android. It manages all available drivers during runtime, such as display, camera, Bluetooth, audio, memory, etc. The Linux Kernel will act as a layer of abstraction between the device hardware and the other components of the Android architecture. It is in charge of memory, power, and device management, among other things. One of the key roles of the Linux Kernel in the Android architecture is to provide a layer of abstraction between the hardware and the higher-level components of the system. It acts as an intermediary, shielding the upper layers of the software stack from the complexities of hardware-specific operations.
FCFS Scheduling