Tim Bray’s Tour Around the Android Platform

Tim Bray has posted a comprehensive run-through of what makes up Google’s operating system.

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.