Dalvik Virtual Machine
| Dalvik Virtual Machine | |
|---|---|
| Entwickler | Dan Bornstein |
| Betriebssystem | Android |
| Kategorie | Virtuelle Maschine |
| Lizenz | Apache-Lizenz 2.0 |
| code.google.com/p/dalvik | |
Dalvik Virtual Machine (abgekürzt Dalvik VM oder DVM) ist eine für mobile Geräte vorgesehene virtuelle Ausführungsumgebung in Form einer so genannten Registermaschine. Sie ist ein Hauptbestandteil der von der Firma Google entwickelten Android-Plattform[1] und wurde unter der Apache-Lizenz 2.0 veröffentlicht.[2]
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.[3] Dies ist notwendig, da Android für jedes Programm bzw. jeden Prozess eine eigene Dalvik-VM erzeugt.[4] 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) bewerkstelligt. 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, in der einige seiner Vorfahren lebten.[5]
Rechtsstreit [Bearbeiten]
Die Firma Oracle, die Anfang 2010 mit der Übernahme von Sun Microsystems[6] auch die Rechte an Java übernahm, beschuldigte Google, mit der Entwicklung der Dalvik-VM Patente und Urheberrechte von Java verletzt zu haben. Oracle reichte am 12. August 2010 Klage gegen Google ein.[7] Im Mai 2012 wurde der Streit beigelegt, nachdem sowohl die Jury als auch der Richter befanden, dass seitens Google kein rechtswidriges Verhalten stattgefunden hat.
Weblinks [Bearbeiten]
- Projektübersicht zu Dalvik VM bei Google Code (englisch)
- Dalvik VM Internals (englisch) (Video)
- Dalvik Anforderungen (englisch)
- Dex Datei Format (englisch) – veraltet
- Dalvik VM (englisch) – Dex Datei Format, Kopie von retrodev.com, veraltet
Einzelnachweise [Bearbeiten]
- ↑ Laut ausdrücklichem Hinweis des Autors ist Dalvik keine JVM
- ↑ http://android.git.kernel.org/?p=platform/dalvik.git;a=blob_plain;f=NOTICE;hb=HEAD
- ↑ http://www.scribd.com/doc/28170469/Android-Grundlagen-und-Programmierung
- ↑ http://developer.android.com/guide/basics/what-is-android.html
- ↑ Journal entry
- ↑ heise online: EU-Kommission gibt Oracle grünes Licht für Sun-Übernahme
- ↑ heise online: Oracle klagt gegen Google wegen Patent- und Urheberrechtsverletzung