574716

Android Runtime und Dalvik Virtual Machine

17.09.2010 | 12:11 Uhr | Hans-Christian Dirscherl

Schauen wir uns das Herzstück von Android einmal genauer an - nämlich die Runtime und die damit verbundene virtuelle Maschine von Android.

Jede Android-Anwendung läuft mit einem eigenen Prozess (den Sie über ein geeignetes Tool wie beispielsweise den Prozessmanager im Astro-Datei-Manager anzeigen und auch beenden können) und mit einer eigenen Instanz in der virtuellen Maschine von Android. Einfacher formuliert: Jede App läuft in einer eigenen virtuellen Maschine. Es laufen also immer gleichzeitig mehrere Instanzen der Dalvik VM auf einem Android-Smartphone. Jeder Prozess läuft zudem unter dem Benutzer, der für die jeweilige Anwendung angelegt wird. Wird die Anwendung beendet, dann wird auch der Prozess beendet.

Die virtuelle Maschine von Android ist eine speziell für die Erfordernisse des Smartphone-Betriebssystems entwickelte Java Virtual Machine (JVM), genannt die Dalvik Virtual Machine. Die Dalvik VM (Dalvik ist eine Stadt in Island, wo Vorfahren von Dan Bornstein, dem Entwickler der Dalvik VM, lebten) führt Dateien im Dalvik Executable-Format (.dex) aus. Diese sind so beschaffen, dass sie möglichst wenig Arbeitsspeicher belegen. Denn Speicher ist in Smartphones nun einmal knapp. Dazu vermeidet sie so weit als möglich Wiederholungen.

Zudem kommt die Dalvik VM gut mit schwachen Prozessoren zurecht, was ebenfalls wichtig ist für den Einsatz auf Smartphones. Und sie ist optimiert für ein Betriebssystem, das auf keine SWAP-Partition (Auslagerungs-Partition. Unter Windows entspricht ihr die Auslagerungs-Datei) zugreifen kann. Zudem wurde bei der Dalvik VM der Strombedarf berücksichtigt, schließlich kommt sie auf Akku-betriebenen Geräten zum Einsatz.

Außerdem will Google durch den Einsatz der Dalvik VM Patent-Probleme mit Oracle vermeiden und Lizenzkosten sparen. Oracle hat bekanntlich Sun aufgekauft. Sun hat die Programmiersprache Java erfunden und bis heute entwickelt. Allerdings hat der Erfolg von Android Oracle aufgeweckt: Der Datenbank-Riese, dem Java gehört, hat Google wegen Patentverstoßes verklagt : Laut Oracle soll Google bei der Entwicklung seines mobilen Betriebssystems Android wiederholt Patente rund um Java verletzt haben. Zitat der Sprecherin Karen Tillman: "Google hat wissentlich, direkt und wiederholt Oracles Java-bezogenes Eigentumsrecht verletzt".

Nun stellt sich die Frage: was macht eigentlich die Dalvik VM genau? Und wie unterscheidet sie sich von einer normalen Java Virtual Machine auf dem PC?

PC-WELT Marktplatz

574716