Android is running on the core of the Linux2.6, and it provides kernel system services: Security, memory management, process management, network group, drive model. The kernel part also corresponds to an abstraction level between the hardware layer and other software groups in the system. But strictly speaking it is not a Linux operating system.
At the bottom of the system level of the Android system is Linux, with a Java virtual machine called Dalvik, with the Android runtime on the surface layer. Each Android app runs on its own process and enjoys a dedicated instance assigned to it by the Dalvik virtual machine. Dalvik has been rewritten to support the efficient operation of multiple virtual machines on the same device.
The Dalvik virtual machine executes a Dalvik-formatted executable (. dex)-This format is optimized to reduce memory consumption to a minimum. The Java compiler transforms the Java source file into a class file, and the class file is converted to the Dex format file by the built-in DX tool, which is registered and running on the Dalvik virtual machine.
Android applications are Java software running on Dalvik, while Dalvik is running on Linux, and in some of the underlying features-such as threading and low memory management-Dalvik virtual machines depend on the Linux kernel. So it can only be said that Android is running on Linux operating system, which itself is not a version of Linux.
The Android tour is starting! Self-understanding of the relationship between Android and Linux