Topic > An overview of the Android architecture and different versions

Android is an operating system based on the Linux kernel and currently developed by Google. The Android operating system is one of the most used operating systems. The Android operating system has middleware and other key applications. The Android operating system is divided into four main layers: kernel, application framework, libraries and applications. The Android operating system is mainly designed for various touchscreen mobile devices, such as smartphones, tablets, Android TV, Android Auto for cars, Android Wear for wristwatches. The Android operating system uses several touch inputs such as swiping, tapping, pinching, and reverse pinching for manipulating objects on the screen and a virtual keyboard. The Android operating system has also been used in digital cameras, game consoles, PCs, and other electronic devices. The different versions and their features of the Android operating system are discussed. Say no to plagiarism. Get a tailor-made essay on "Why Violent Video Games Shouldn't Be Banned"? Get Original Essay The Android operating system is based on the Linux kernel and developed by Google Inc. Nowadays, the Android operating system is widely used in smartphones and other electronic devices. The open source functionality contributes to the rapid growth in popularity of the Android operating system. Consumers and developers prefer Android for its open source functionality. Furthermore, to meet the requirements of the latest mobile technologies, developers can easily add and modify features in it. Using the powerful development framework, developers can create applications for a wide range of devices. Android users download more than 1.5 billion apps and games from Google Play every month. Some of the key features of Android OS are powerful application framework, Dalvik virtual machine, built-in browser, optimized graphics, SQLite, multimedia support, GSM technology, Bluetooth, Edge, 3G, Wi-Fi, camera and GPS etc. Android provides Software Development Kit (SDK) for better software development. The Java programming language is used for application development. The SDK includes a debugger, phone emulator, libraries, sample code, tutorials, and documentation. Android has various versions and their names are in alphabetical order. BACKGROUND AND HISTORY Initially Android Inc. developed the Android mobile operating system and was later sold to Google in 2005. Android is based on Linux Kernel 2.6. Google and other members of the Open Handset Alliance (OHA) collaborated on the design, development, and distribution of Android. Android's maintenance and development cycle is currently governed by the Android Open Source Project (AOSP). The Android operating system is based on a modified Linux 2.6 kernel. For the efficiency and effectiveness of mobile devices, such as smartphones and tablets, several libraries and drivers have been modified or developed recently. Some of these libraries are open source but others have licensing issues. Therefore, the Android community decided to create its own c library (Bionic) and a specific Java runtime engine called Dalvik Virtual Machine (DVM). Infrastructure optimization is in focus due to the limited resources available on mobile devices. Therefore, the Android application framework has been designed and implemented. Android is a complete solution stack consisting of the operating system, medium-wear components, and key applications. The modified Linux 2.6 kernel behaves like the hardware abstraction layer(HAL) on Android. The Android operating system can be labeled as: An open source platform for mobile application development; A hardware reference design for mobile devices; A system based on the modified Linux 2.6 kernel; An application and user interface (UI) framework; runtime environment.ANDROID OPERATING SYSTEM ARCHITECTURE The Android operating system is a stack of software components. These main components of the Android operating system architecture or software stack include Linux kernel, application framework, Android runtime, native libraries and applications. Core system services are managed by the Linux kernel. Core system services include virtual memory, driver power management, and networking.A. Linux KernelLinux Kernel (Linux 2.6) is at the bottom layer of the software stack. With some changes made by Google to the Linux kernel, the entire Android operating system is based on this layer. The modified Linux kernel provides features such as memory management, process management, and device management. The Android operating system interacts with the device's hardware at this level. Hardware device drivers are included at this level. The Linux kernel is also responsible for managing resources such as virtual memory, networking, drivers, and power management. Android was the first product based on version 2.6.25.B of the Linux kernel. Native libraries layer At the top of the Linux kernel layer are the Android native libraries. Various hardware-specific data types are handled on this layer. The programming language used to write these libraries is C++ or C. Java interface is used to call these libraries. Some important native libraries are:WebKit: HTML contents are displayed using this browser engine.Media framework: Media framework provides playback and recording of various audio, video and image formats. (for example MP3, AAC, AMR, JPG, MPEG4, H.264 and PNG).Surface Manager: used to manage the display of the device. Surface Manager used to compose windows on the screen.SQLite: SQLite is the relational database used in Android applications.Free type: Bitmap and Font RenderingOpenGL | ES: Used to render 2D or 3D graphics content on the screen libc: Contains system-related C libraries.C. Android RuntimeAndroid Runtime consists of Dalvik Virtual Machine (DVM) and Core Java Libraries. The Android Runtime and Library layer are on the same layer. Dalvik Virtual Machine (DVM) is developed by Dan Bornstein of Google. Dalvik Virtual Machine (DVM) is used to run applications on your Android device. To run an Android application a process is created with its own instance in Dalvik Virtual Machine (DVM). Multiple instances can be created simultaneously providing security, memory management, isolation, and threading support. The Dalvik Virtual Machine (DVM) is registry-based while the Java Virtual Machine is process-based. The dx tool is used to create .dex files from a .class file. Then the .dex files are executed on the Dalvik Virtual Machine. The Android SDK includes the DX tool. Dalvik Virtual Machine is optimized for compute and memory environments.D. Application FrameworkAndroid provides tools for developers to create interactive applications with rich graphics and then distribute them on the Google Play Store. Developers can access Java libraries and core application APIs. These APIs and services are in the form of Java classes. The application developer can use these services in their applications. Developer applications can interact directly with these blocks..