Dalvik Virtual Machine

Dalvik Virtual Machine
Basisdaten

Entwickler Dan Bornstein
Betriebssystem Android
Kategorie Virtuelle Maschine
Lizenz Apache-Lizenz 2.0
source.android.com/devices/tech/dalvik/

Dalvik Virtual Machine, abgekürzt auch Dalvik VM oder DVM genannt, ist eine für mobile Geräte vorgesehene virtuelle Ausführungsumgebung in Form einer sogenannten Registermaschine. Sie ist ein Hauptbestandteil des Android-Betriebssystems in den Android-Versionen bis zu 4.x und wurde unter der Apache-Lizenz 2.0 veröffentlicht.[1] Ab der Android-Version 5.0 wurde Dalvik durch den Ahead-of-time-Compiler Android Runtime (ART) ersetzt.

Dalvik führt Software, die für eine Java Virtual Machine (JVM) übersetzt wurde, nach entsprechender Konvertierung in seinem eigenen Bytecode-Format aus. Die DVM wurde so entworfen, dass sie, ebenso wie moderne Prozessoren (z. B. ARM-Mikroprozessoren), Registermaschinencode verarbeiten kann und daher ressourcenschonend und schnell ist.[2] Dies ist notwendig, da Android für jedes Programm bzw. jeden Prozess eine eigene Dalvik-VM erzeugt.[3] Diese Registermaschine ist der Hauptunterschied zur JVM, die auf einem Kellerautomaten basiert.

Ein bedeutsamer Teil der Android-Entwicklungsumgebung (SDK) ist das Programm dx, das die Konvertierung herkömmlicher Java-Binärdateien (.class) in das Dalvik Executable-Format (.dex) durchführt. Dabei werden mehrere .class-Dateien zu einer .dex-Datei zusammengefasst und einige Optimierungen bezüglich des Speicherbedarfs vorgenommen.

Entwickelt wurde Dalvik vom Google-Mitarbeiter Dan Bornstein. Er benannte sie nach der isländischen Stadt Dalvík. Entgegen landläufiger Meinung kommt von dort jedoch keiner seiner Vorfahren, stattdessen war es ein Urlaubsort, den er attraktiv fand.[4]

Dalvik nutzt Just-in-time-Kompilierung.

  1. Archivlink (Memento vom 17. April 2009 im Internet Archive). Abgerufen am 2. April 2024.
  2. http://www.scribd.com/doc/28170469/Android-Grundlagen-und-Programmierung
  3. http://developer.android.com/guide/basics/what-is-android.html
  4. Journal entry (Memento vom 1. Februar 2014 im Internet Archive). Abgerufen am 2. April 2024.

Developed by StudentB