Android Architecture

The Android OS is a software stack of different layers, in which each layer is a group of some program components. It includes your operating system, middleware and important applications. Each layer in the architecture provides different services to the layer just above it.

Following are the different layers in the Android stack:

  • Linux Kernel Layer – Linux kernel is the bottom most layer in the architecture of android. It never really interacts with the users and developers, but is at the heart of the whole system. Its importance stems from the fact that it provides the functions in the Android system such as hardware abstraction, memory management programs, security settings, power management software, other hardware drivers, network stack etc.
  • Libraries – The next layer in the Android architecture includes libraries. Libraries carry a set of instructions to guide the device to handle different types of data. For example –  the playback and recording of various audio and video formats is guided by the Media Framework Library.
  • Runtime – The third section of the architecture is runtime which provides a key component called Dalvik Virtual Machine (DVM). Dalvik is an open-source software and Java Virtual Machine specially designed and optimized for Android.
  • Application Framework Layer – Our applications directly interact with these blocks of the Android architecture. These programs manage the basic functions of phone like resource management, voice call management etc.  It provides many higher-level services to applications in the form of Java classes. Some important blocks of Application Framework are activity management, content providers, resource manager, notification manager, view system.
  • Applications layer – The applications are at the topmost layer of the Android stack.  All the applications will be installed in this layer such as address book, games etc.