Dalvik

Définition - Que signifie Dalvik?

Dalvik est une machine virtuelle (VM) open source basée sur des registres qui fait partie du système d'exploitation Android. La VM Dalvik exécute les fichiers au format Dalvik Executable (.dex) et s'appuie sur le noyau Linux pour des fonctionnalités supplémentaires telles que le threading et la gestion de la mémoire de bas niveau.

Definir Tech explique Dalvik

Dalvik doit son nom à un village de pêcheurs d'Islande où vivaient les ancêtres de Dan Bornstein, la personne qui a écrit le code original de la VM. Dalvik est conçu pour des vitesses d'exécution et des opérations rapides dans des environnements aux ressources limitées comme ceux des appareils mobiles (avec une mémoire, un processeur et une batterie limités). Une VM Dalvik est conçue pour exécuter plusieurs instances d'elle-même, chaque instance étant hébergée sur son propre processus distinct et exécutant une application chacune. Lorsqu'une instance tombe en panne, les autres applications exécutées simultanément ne souffrent pas.

Bien que les applications Android soient écrites en Java, elles sont d'abord compilées au format Dalvik Executable (DEX) pour les faire fonctionner sur la VM Dalvik. Les fichiers DEX sont généralement plus petits que les fichiers .JAR (Java Archive) compressés, ce qui les rend adaptés aux appareils mobiles.

La principale différence entre Dalvik et une machine virtuelle Java typique est que la première est basée sur des registres tandis que la seconde est basée sur la pile. Les machines virtuelles basées sur des registres nécessitent moins d'instructions que leurs homologues basées sur la pile. Bien que les machines virtuelles basées sur des registres nécessitent également plus de code, elles sont généralement considérées comme présentant des démarrages plus rapides et de meilleures performances que les machines virtuelles basées sur la pile.

La licence de code source Dalvik est basée sur la licence Apache. Cela signifie qu'il est gratuit à modifier et donc attrayant pour les opérateurs de téléphonie mobile.