It is not an overstatement to mention that Android is the unassailable leader in the domain of smartphones and laptops. As per the latest market estimates, it capitalizes over 80 per cent of the total industry. The popularity of Android mobile OS is mainly due to Google’s decision to keep it as an open-source product and integrate with other technology giants from different spheres. The Open Handset Alliance, which comprises of the likes of Samsung, LG, HTC, AT&T provide Android with the latest technological benefits. However, unknown to the majority of Android users, its real power comes from its core elements. Here, we take a look at the basic components that the Android system is based on:
a. The Linux Kernel: The stability and security that comes with Android phones is because of its Linux base. Prior to the Ice-cream sandwich version of Android, the Linux 2.6 version was used to power its kernel. Since Linux is essentially an open-source product as well, Google made its own modifications to the code architecture in order to optimize it for mobile devices. However, the latest Android versions use the upgraded Linux 3.0 version.
b. File system: Android follows the structure of a basic Unix file system, but has made a few architectural changes as well. The storage is divided into several categories based on different purposes. The “/system” folder is for the use of the operating system only, and Android users do not have access to modify files in the folder. On the other hand, all application and user data is stored under the “/data” folder. While other Linux distributions allow at least one user to have root access of the system, most Android phone manufacturers lock the root access for the customers.
c. Software stack: A set of Android-specific runtime libraries and other frameworks are layered on top of the Linux kernel. The application framework forms the third layer, which is a wrapper for most apps that reside on the phone. The application framework includes contact manager, telephony manager, location manager, package manager, content providers and other utility middleware interfaces. This particular layer has been extensively coded with the C programming language.
d. Applications: Android apps form the top-most layer of the Android architecture. These are of more relevance to the user as it provides features that the device owner can directly use. Internally, these apps communicate with the application framework to serve their purposes and provide users with features.