What is Android and why did they create a new VM?
<blockquote>
  <p>Android's embedded OS relies on the
  Linux kernel for core system services
  but is not embedded Linux and thus
  standard utility libraries like for
  example GNU C are not supported. The
  Java framework is used to write
  Android applications but Android is
  not Java. Standard Java libraries such
  as Swing are not supported.Android has
  a Virtual Machine known as Dalvik, so
  when the Java class files are
  generated, this are translated to
  Dalvik Executable files known as .dex
  files. From this point this files are
  not treated as java bytecode but as
  .dex files.</p>
</blockquote>

<p>So I have three questions:</p>

<ol>
<li>Now I know what Android is not,
so, what is Android?</li>
<li>What are
core system services?</li>
<li>Why did they choose <code>.dex</code> files
upon Java bytecode? I mean why did
they took the work to translate or
combine <code>.class</code> files to <code>.dex</code> files?</li>
</ol>
