In Android 2.2 (Froyo), applications run on top of a Dalvik VM layer, not directly on the Linux OS. The Android architecture is: Linux Kernel → HAL → Native Libraries → Android Runtime (Dalvik VM) → Application Framework → Applications. The Dalvik VM provides an abstraction layer separating apps from the underlying OS.