How Android Works?

Android is an Open Source Operating System for mobiles,tablets and Televisions developed by Google.
Well everyone just use their smartphones and enjoy stuffs that android offers.Ever wondered how it works ? ,how the apps run?,what inside the hood?. Here we will explain how android works and explain its architecture.

 

As per shown in the image above when the device boots up the bootloader calls the kernel and the kernel loads drivers from system libraries and then the system boots by executing binaries followed by drivers.Now after executing all the binaries the system calls its framework which includes lots of services. After the framework being loaded the system apps gets into there work. For all sets of features there are different sets of apps.Now to lets know about the bootloader and recovery of android.Every android device have a boot-loader and recovery.
First come to boot-loader

Bootloader:


Bootloader also known as UBOOT . its like BIOS of Computer. It is the first thing that runs when the hardware communicates with software. When the device shows its manufacturer logo also known as bootlogo that mens bootloader has been loaded perfectly. Bootloader is quite handy to developers cause its the only thing that helps developers to bring there phone back to life even its dead or bricked due to System/boot issues. The OS can be flashed bootloader using partitions. We will discuss about partitions in this guide

Recovery:

In Android, recovery means the dedicated, bootable partition that has the recovery image installed.  A combination of key presses  will boot your phone to recovery, where you can find tools to restore your phone by wiping data  as well as install official OS updates/OTA Updates. As Android is open and has the recovery source code available, building a custom version with more and different options is relatively easy as well. Let’s look at both options.

The stock recovery(which comes with the device by default) is pretty limited,  Its main purpose is to delete all or some user data and files, or to perform system updates manually with signed and verified delta update packages. Normally, both these operations are started from the running Android system, but you can do things manually and boot right into recovery yourself.  When you tell your phone to do a factory reset. recovery is what boots up and erases the files and data. Likewise with updates— when we restart to install an official OS update, it’s done in recovery.
The Custom recovery is full featured .It has all options that stock recovery has except that it has lots of options like backup partitions ,restore partitions,File manager,installing images directly to partitions.The famous custom recoveries are TWRP and CWM Recovery.

Android is linux based os and has its own sets of partition structure .  PC GNU/Linux users: please note this is completely different from x86 (PC Linux) partition table. You will not come across partitions denoted as sda1, sda2, sdb1, sdb2, and so on. Instead, it will be structured as follows:

/boot

This is the partition that has all the data that is necessary for the phone to boot. It includes the kernel and the RAMDISK (these are the only components of the operating system that are stored in this partition. The remaining are stored in /System). Without this partition, the device will simply not be able to boot. Wiping this partition from recovery should only be done if absolutely required and once done, the device must NOT be rebooted before installing a new one, which can be done by installing a ROM that includes a /boot partition.

/system

This partition basically contains the entire operating system, except the kernel and the RAMDISK (as mentioned in /boot explanation). This includes the Android User Interface as well as all the system applications that come pre-installed on the device. Wiping this partition will remove Android from the device without rendering it unbootable, but you will still be able to boot into the /recovery partition to install a new ROM.

/recovery

The recovery partition can be considered as an alternative boot partition that lets you boot the device into a recovery console for performing advanced recovery and maintenance operations on it. Think of this like a proprietary recovery partition that PC companies put on prebuilt PCs. When you flash a custom recovery such as TWRP or CWM, you are overwriting this partition.

/data

Also called userdata, the data partition contains the user’s data – this is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially performs a factory reset on your device, restoring it to the way it was when you first booted it, or the way it was after the last official or custom ROM installation. When you perform a wipe data/factory reset from recovery, it is this partition that you are wiping.

/cache

This is the partition where Android stores frequently accessed data and app components. Wiping the cache doesn’t effect your personal data but simply gets rid of the existing data there, which gets automatically rebuilt as you continue using the device.

/misc

This partition contains miscellaneous system settings in form of on/off switches. These settings may include CID (Carrier or Region ID), USB configuration and certain hardware settings etc. This is an important partition and if it is corrupt or missing, several of the device’s features will will not function normally.

/sdcard

This is not a partition on the internal memory of the device but rather the SD card. In terms of usage, this is your storage space to store your media, documents, downloads, pictures, videos, ROMs etc. on it. It is like the equivalent of the ‘ Users/[Username] ‘ folder in Windows and ‘ /home/~ ‘ folder in x86 Linux. Wiping it is perfectly safe as long as you backup all the data you require from it, to your computer first. Though several user-installed apps save their data and settings on the SD card and wiping this partition will make you lose all that data.

On devices with both an internal and an external SD card – devices like the Samsung Galaxy S and several tablets – the /sdcard partition is always used to refer to the internal SD card. For the external SD card – if present – an alternative partition is used, which differs from device to device. In case of Samsung Galaxy S series devices, it is /sdcard/sd while in many other devices, it is /sdcard2. Unlike /sdcard, no system or app data whatsoever is stored automatically on this external SD card and everything present on it has been added there by the user. You can safely wipe it after backing up any data from it that you need to save.

/sd-ext

This is not a standard Android partition, but has become popular in the custom ROM scene. It is basically an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have special features called APP2SD+ or data2ext enabled. It is especially useful on devices with little internal memory allotted to the /data partition. Thus, users who want to install more programs than the internal memory allows can make this partition and use it with a custom ROM that supports this feature, to get additional storage for installing their apps. Wiping this partition is essentially the same as wiping the /data partition – you lose your contacts, SMS, market apps and settings.

/Boot (Is NOT viewable in Android)
/Recovery (Is NOT viewable in Android)
/Data (Userdata) (Is viewable in Android)
/Cache (Is viewable in Android)
/System (Is viewable in Android)
/Misc (Is NOT viewable in Android)