You most probably heard about Android, seen one or you own one and having 66% in mobile operating system market share, so why is it so popular. Android is based on Linux kernel and designed for mobile phones touchscreens but today finds wide verity of usage like TV’s, Laptops, Cars, Wrist watches etc, it is open source system developed by Google which means everyone can get latest source from Android’s source page and build it yourself or modify it make it better for your needs. As being open source most of smartphone manufacturers find it easy to port Android to their device and with this comes cheaper price. But lets take these facts aside and dig into its source and see what Android is doing in background.
As Linux kernel based system it has most of its features but unique components like Binder, ashmem, pmem, wakelocks, different out of memory handling. On top of the kernel there are middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries.
Android Runtime has key part in this as it runs Java written applications on Android. Since 5.0 version Android isn’t using Dalvik VM but ART (Android Runtime) which uses ahead-of-time (AOT) compilation. With AOT apps are entirely compiled into machine code which improves execution efficiency and reduces power consumptions, C libraries are bridge between kernel and framework which gives possibility to write Android applications in C++ or C. Application Framework is top layer of architecture and its controlling everything below , through apps or services which are essential in Android.