Android (operating system)
Overview
Android is a mobile operating system based on a modified version of the Linux kernel and other open source software, designed primarily for touchscreen mobile devices such as smartphones and tablets. Android is developed by a consortium of developers known as the Open Handset Alliance and commercially sponsored by Google. It was unveiled in November 2007, with the first commercial Android device, the HTC Dream, launched in September 2008.
History
Android Inc. was founded in Palo Alto, California, in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris White. Rubin described the Android project as having "tremendous potential in developing smarter mobile devices that are more aware of its owner's location and preferences". The early intentions of the company were to develop an advanced operating system for digital cameras, but this was diverted to a focus on smartphones due to the market potential.
Architecture
Android's architecture is divided into four main layers: the application layer, the application framework, the libraries and runtime, and the Linux kernel. Each layer in the Android architecture serves a distinct purpose within the overall operating system.
Application Layer
The application layer is the topmost layer of Android's architecture and contains applications developed for the Android platform. These applications, both third-party and system applications, are written in Java or Kotlin and utilize the services and functionalities provided by the application framework.
Application Framework
The application framework provides the classes used to create Android applications. It also provides a generic abstraction for hardware access and manages the user interface and application resources.
Libraries and Runtime
The libraries and runtime layer in Android's architecture provides a set of core libraries that enable developers to write Android applications using standard Java programming language. The Android Runtime (ART) provides a key component called Dalvik Virtual Machine which is a kind of Java Virtual Machine specially designed and optimized for Android.
Linux Kernel
The Linux kernel forms the lowest layer of the architecture. It provides a level of abstraction between the device hardware and the upper layers of the Android software stack.
Features
Android has a vast array of features that bring a significant breadth and depth to its functionality. The major features of Android include application multitasking, a customizable home screen, resizable widgets, a rich notification system, inter-app communication, and powerful search capabilities.
Development
Android applications are typically developed in the Java language using the Android Software Development Kit (SDK). However, other development environments are also available, including a Native Development Kit for applications or extensions in C or C++, Google App Inventor, a visual environment for novice programmers, and various cross platform mobile web applications frameworks.
Security and Privacy
Android applications run in a sandbox, an isolated area of the system that does not have access to the rest of the system's resources, unless access permissions are explicitly granted by the user when the application is installed.
As of 2021, Android holds the largest global platform share. This market dominance can be attributed to the platform's flexibility, allowing it to be installed on a wide range of devices, from high-end smartphones to budget devices.