blog




  • Essay / An overview of Android architecture and different versions

    Android is an operating system based on the Linux kernel and currently developed by Google. 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, framework, libraries, and applications. Android operating system is mainly designed for different touchscreen mobile devices i.e. smartphones, tablets, Android TV, Android Auto for cars, Android Wear for wristwatches. The Android operating system uses different touch inputs such as swipe, tap pinch, and reverse pinch for manipulating on-screen objects and a virtual keyboard. The Android operating system has also been used in digital cameras, game consoles, PCs and other electronic devices. Different versions and their features of Android operating system are discussed. Say no to plagiarism. Get Customized Essay on “Why Violent Video Games Should Not Be Banned”?Get Original Essay Android operating system is based on Linux kernel and developed by Google Inc. Nowadays, the operating system Android is widely used in smartphones and other electronic devices. The open source feature contributes to the rapid growth in popularity of the Android operating system. Consumers and developers favor Android because of its open source functionality. Moreover, to meet the requirements of the latest mobile technologies, developers can easily add and modify features to it. Thanks to 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 operating system are powerful application framework, Dalvik virtual machine, integrated 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. Java programming language is used for application development. The SDK includes a debugger, handset emulator, libraries, code samples, tutorials, and documentation. Android has different versions and their names are listed alphabetically. BACKGROUND AND HISTORY Initially, Android Inc. developed the Android mobile operating system, and then it was sold to Google in 2005. Android is based on Linux kernel 2.6. Google and other members of the Open Handset Alliance (OHA) collaborated in the design, development, and distribution of Android. Android 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 i.e. smartphones and tablets, several libraries and drivers have been either modified or newly developed. Some of these libraries are open source but the other has licensing issues. Therefore, the Android community decided to create its own C library (Bionic) and a specific Java execution engine called Dalvik Virtual Machine (DVM). Infrastructure optimization is targeted due to the limited resources available on mobile devices. Therefore, the frameworkAndroid application has been designed and implemented. Android is a complete solution stack consisting of an operating system, middle-wear components and key applications. The modified Linux 2.6 kernel behaves like the hardware abstraction layer (HAL) in Android. 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; A runtime environment.ANDROID OPERATING SYSTEM ARCHITECTUREThe Android operating system is a stack of software components. These main components of the Android operating system architecture or software stack include the Linux kernel, application framework, Android runtime, native libraries, and applications. Basic system services are managed by the Linux kernel. Basic system services include virtual memory, driver power management, and networking.A. Linux KernelLinux Kernel (Linux 2.6) sits at the bottom layer of the software stack. With some modifications made by Google to the Linux kernel, the entire Android operating system is built 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 hardware that has this layer. Hardware device drivers are included at this layer. The Linux kernel is also responsible for managing resources such as virtual memory, networking, drivers, and power management. Android was the first product built on Linux kernel version 2.6.25.B. Native Libraries LayerAt the top of the Linux kernel layer are Android's native libraries. Different types of hardware-specific data are managed 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 content is displayed using this browser engine. Multimedia Framework: The multimedia framework allows playback and recording of various audio, video and image formats. (e.g. MP3, AAC, AMR, JPG, MPEG4, H.264 and PNG).Surface Manager: It is used to manage the device display. 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 graphic content on the screen. libc: It contains the C libraries related to the system.C. Android RuntimeAndroid Runtime is composed of Dalvik Virtual Machine (DVM) and Core Java libraries. The Android Runtime and Library layers are located at the same level. Dalvik Virtual Machine (DVM) is developed by Dan Bornstein of Google. Dalvik Virtual Machine (DVM) is used to run the applications on an 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 thread support. Dalvik Virtual Machine (DVM) is register-based while 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.