Dalvik virtual machine

Dalvik virtual machine

The Dalvik virtual machine is a register-based virtual machine, designed and written by Dan Bornstein with contributions from other Google engineers as part of the Android mobile phone platform. [citeweb|title=What is Android?|url= http://code.google.com/android/what-is-android.html|publisher=code.google.com|accessdate=2008-02-05]

It is optimized for low memory requirements, and is designed to allow multiple VM instances to run at once, relying on the underlying operating system for process isolation, memory management and threading support.

The Dalvik virtual machine was named by Bornstein after the fishing village of Dalvík in Eyjafjörður, Iceland, where some of his ancestors lived. [ [http://uke.livejournal.com/25660.html Journal entry] ] citeweb|title=Google Calling: Inside Android, the gPhone SDK|url=http://www.onlamp.com/pub/a/onlamp/2007/11/12/google-calling-inside-the-gphone-sdk.html|publisher=onlamp.com|accessdate=2008-02-05]

Architecture

Being optimized for low memory requirements, Dalvik has some specific characteristics that differentiate it from other standard VMs [cite web
url=http://blogs.sun.com/jrose/entry/with_android_and_dalvik_at
title=with Android and Dalvik at Google I/O
last=Rose|first=John
date=2008-05-31
accessdate=2008-06-08
] :
* The VM was slimmed down to use less space. The underlying C standard library was rewritten, and the C++ implementation has no support for Exception handling,
* Dalvik has no Just-in-time compiler
* The constant pool has been modified to use only 32-bit indexes to simplify the interpreter.

Dalvik uses Apache Harmony (which is under the Apache License) instead of OpenJDK (which is under the GPL + linking exception) to allow cell phone makers to modify the core VM without having to distribute their code.

Relationship to Java

Dalvik is often referred to as a Java Virtual Machine, but this is not strictly accurate, as the bytecode on which it operates is not Java bytecode. Instead, a tool named "dx", included in the Android SDK, transforms the Java Class files of Java classes compiled by a regular Java compiler into another class file format (the ".dex" format). [cite web
url=http://code.google.com/android/what-is-android.html#runtime
title=What is Android?: Android Runtime
publisher=Google
date=2007-11-12
quote="The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool."
accessdate=2007-11-13
]

References

External links

* [http://www.betaversion.org/~stefano/linotype/news/110/ Dalvik: how Google routed around Sun's IP-based licensing restrictions on Java ME]
* [http://wireless.itworld.com/4269/071116googlesun/page_1.html Google and Sun may butt heads over Android]
* [http://www.retrodev.com/android/dexformat.html Dex File Format]
* [http://www.kaktus.is/svanfridur/?f=1&o=533 The town of Dalvik celebrates its namesake]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Dalvik Virtual Machine — Entwickler Dan Bornstein Betriebssystem Android Kategorie Virtuelle Maschine Lizenz Apache Lizenz 2.0 …   Deutsch Wikipedia

  • Dalvik virtual machine — Dalvik Тип Виртуальная машина Автор Dan Bornstein Написана на Си, C++ Операционная система Android Аппаратная платформа ARM, MIPS, x86 …   Википедия

  • Dalvik virtual machine — Dalvik ist ein Hauptbestandteil der Android Plattform von Google. Es handelt sich um eine für mobile Geräte entwickelte Java Virtual Machine (JVM). Dalvik arbeitet als Registermaschine, was sie von den meisten anderen JVMs unterscheidet, welche… …   Deutsch Wikipedia

  • Dalvik Turbo virtual machine — Dalvik Turbo Original author(s) Myriad Group Operating system Linux Platform Android and others Type Virtual machine Dalvik T …   Wikipedia

  • Virtual machine — A virtual machine (VM) is a completely isolated guest operating system installation within a normal host operating system .[1] Modern virtual machines are implemented with either software emulation or hardware virtualization or (in the most… …   Wikipedia

  • Java Virtual Machine — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете …   Википедия

  • Java Virtual Machine — Java Logo Die Java Virtual Machine (abgekürzt Java VM oder JVM) ist der Teil der Java Laufzeitumgebung (JRE) für Java Programme, der für die Ausführung des Java Bytecodes verantwortlich ist. Hierbei wird im Normalfall jedes gestartete Java… …   Deutsch Wikipedia

  • K virtual machine — Тип JVM Разработчик Sun Microsystems Написана на C Операционная система Кроссплатформенное ПО Языки интерфейса Java Сайт …   Википедия

  • Dalvik (software) — Dalvik Original author(s) Dan Bornstein Operating system Linux kernel Platform Android Type Virtual machine …   Wikipedia

  • Dalvik — steht für: Dalvík, eine Stadt an der Nordküste Islands Dalvik Virtual Machine, eine von Google entwickelte virtuelle Maschine Diese Seite ist eine Begriffsklärung zur Unterscheidung mehrerer mit demselben Wort bezeichneter Be …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”