Architecture of Android Operating System

Android is a Linux-based operating system designed for touchscreen mobile devices such as smartphones and tablet computers. Android was originally developed by Android, Inc., with financial support from Google, which was later purchased in 2005. The operating system was officially released in 2007, in conjunction with the establishment of the Open Handset Alliance, a consortium of hardware, software, and telecommunications that aim to advance the open standards of mobile devices. The first Android phone went on sale in October 2008. –  Source: Wikipedia

This time we will discuss the architecture of Android operating system. For you who want to learn android programming, it is obligatory to know the architecture of Android. Broadly speaking Android Architecture can be described and described as follows:

  • Application and Widgets

Applications and Widgets is the layer where we deal with the application only,  we usually download the application then we do the installation and run that application. On the layer, there are core applications such as email client, SMS program, calendar, maps, browser, contacts, and others. All of the applications are written using Java or Kotlin programming language.

  • Applications Frameworks

Android is the “Open Development Platform” that offers developers or gives developers the ability to build great and innovative applications. Developers are free to access hardware, access information resources, run background services, set alarms, and add status notifications, and so on. The developer has full access to the API framework as done by the app that the core category. Application Architecture is designed so that we can easily reuse the components that have been used.

So that we can conclude Application Frameworks is a layer where the application developers do the development of applications that will run on the Android Operating System, because at the layer, applications can be designed and created, such as content-providers in the form of SMS and phone calls.

The components are included in Applications Frameworks are as follows:

  1. Views
  2. Content Provider
  3. Resource Manager
  4. Notification Manager
  5. Activity Manager
  • Libraries

Libraries are the layer where Android features are located, Usually, the application developers access libraries to run the application. Running on top of the kernel, this Layer includes various C / C ++ core libraries such as Libc and SSL, as well as:

  1. media libraries for playback of audio and video media
  2. libraries for display management
  3. Graphics libraries include SGL and OpenGL for 2D and 3D graphics
  4. SQLite libraries for database support
  5. SSL and WebKit libraries are integrated with web browser and security
  6. LiveWebcore libraries include modern web browsers with embedded web view engines
  7. 3D libraries that include the implementation of OpenGL 1.0 API’s
  • Android Run Time

The layer that creates android apps can run wherein the process uses Linux implementations. Dalvik Virtual Machine (DVM) is a machine that forms the basis of the Android application framework. Inside The Android Run Time is divided into two parts:

  1. Core Libraries: Android apps are built in Java, while Dalvik as Virtual Machine is not a Java Virtual Machine, so it takes libraries that serves to translate the java / c language handled by Core Libraries.
  2. Dalvik Virtual Machine: Virtual register-based engine optimized to perform functions efficiently, which is a development that is able to make Linux kernel for threading and low-level management.
  • Linux Kernel

Linux kernel is the layer where the core of the Android operating system is located. It contains system files that manage processing systems, memory, resources, drivers, and other Android operating systems. Linux kernel that is used android is Linux kernel version 3.18. If you want to learn the Linux kernel, you can download the Linux kernel for free at www.kernel.org.