What Makes Android Tick?
Tim Bray's Tour Around the Android Platform
How much do you really know about Android? Even if the answer is 'a lot' you're still likely to learn something from Tim Bray's latest 'What Is Android?' blog post, in which he dives into the finer details regarding the operating system.
Android runs on a Linux kernel, with added extensions that the Android team are currently trying to merge into upstream Linux. However, Tim Bray hesitates to call this a distro, because components such as libraries, shells, editors and GUIs are left out. "It's a pretty naked kernel," he says. The next component is Dalvik, which comprises the VM, some basic runtime essentials and standard APIs that are defined in terms of Dalvik classes, interfaces, objects and methods. Dalvik appears to be at the centre of Google's patent spat with Oracle, and Bray takes the time to stress that "running on Dalvik isn't anything like Java bytecodes on a Java VM." Native code is produced by compiling C or C++ code, and Dalvik code is produced by generating Java bytecodes and translating them, although there is some room for manoeuvre in how code is generated. A fully comprehensive run through of what makes up the Android platform, can be found at Bray's blog.