It is not uncommon to hear that is associated GNU / Linux with android as “the same” or the son of the same mother, they certainly have blood ties but not exactly the same father (so to speak) in if android is Linux but not GNU / Linux which are distinct terms therein lies the most common mistake.
In desktop distributions highest percentage is composed of GNU tools being single Linux kernel and in the case of Android, no GNU tools only keeping the Linux kernel and adding Java as framework Dalvik virtual machine in which to run the same programs on different phones emulating a standard architecture where programs are implemented.
Main components of the Android operating system:
Applications: Applications basis including email client, SMS program, calendar, maps, browser, contacts, and other applications are written in Java programming language.
Application Framework: The architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security rules framework). The same mechanism allows the components to be replaced by the user.
Libraries: Android includes a set of libraries of C / C + + used by various system components. These features are exposed to developers through the Android application framework, some are: System C library, media libraries, graphics libraries, 3D and SQLite, among others.
Android Runtime: Android includes a set of base libraries that provide most of the features available in the Java base libraries. Every Android application runs its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. Dalvik executes files in the Dalvik Executable (. Dex), which is optimized for minimal memory usage. The VM is register-based, and runs classes compiled by the Java compiler that have been transformed by the tool to formato.dex included “dx”.
Linux kernel: Android depends on Linux for System based services such as security, memory management, process management, network stack, and driver model. The core also acts as an abstraction layer between the hardware and the rest of the software stack.On the other hand GNU / Linux is composed of a core Linux kernel, GNU tools, libraries, additional software, a window system, a window manager and a desktop environment, Gnome and KDE being one of the most popular.