¿Qué es DVM (máquina virtual Dalvik)?

Dalvik Virtual Machine es una máquina virtual basada en registros. Fue diseñado y escrito por Dan Bornstein con contribuciones de otros ingenieros de Google como parte de la plataforma de telefonía móvil Android. La máquina virtual Dalvik lleva el nombre de Bornstein por el pueblo de pescadores «Dalvík» en Eyjafjörður, Islandia, donde vivían algunos de sus antepasados.

What-is-DVM

Trabajo de DVM

El compilador de Java (javac) convierte el código fuente de Java en Java Byte-Code (.class). Luego, DEX Compiler convierte este archivo (.class) en un código de bytes de Dalvik, es decir, un archivo «.dex».

Solicitud

Para Android, Google desarrolló una nueva máquina virtual como se indicó anteriormente. Utiliza registros de la CPU para almacenar los operandos. Así que no hay necesidad de empujar y hacer estallar las instrucciones. Por lo tanto, hacer que la ejecución sea más rápida. Las instrucciones operan sobre registros virtuales, siendo esos registros virtuales posiciones de memoria en el dispositivo anfitrión. Los modelos basados ​​en registros son buenos para optimizar y ejecutarse con poca memoria. Pueden almacenar resultados de subexpresiones comunes que pueden usarse nuevamente en el futuro. Esto no es posible en absoluto en un modelo basado en Stack. La máquina virtual Dalvik utiliza su propio código de bytes y ejecuta el archivo «.dex» (archivo ejecutable Dalvik).

Ventajas

  • DVM solo es compatible con el sistema operativo Android.
  • En DVM ejecutable es APK.
  • La ejecución es más rápida.
  • Desde Android 2.2 SDK Dalvik tiene su propio compilador JIT (Just In Time).
  • DVM ha sido diseñado para que un dispositivo pueda ejecutar múltiples instancias de la máquina virtual de manera efectiva.
  • Las aplicaciones reciben sus propias instancias.

Desventajas

  • DVM solo es compatible con el sistema operativo Android.
  • Para DVM hay muy pocas Re-Tools disponibles.
  • Requiere más instrucciones que máquinas registradoras para implementar el mismo código de alto nivel.
  • La instalación de la aplicación lleva más tiempo debido a dex.
  • Se requiere más almacenamiento interno.

Publicación traducida automáticamente

Artículo escrito por anushka2 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *