Dalvik

Dalvik VM(Virtual Machine、バーチャルマシン、仮想マシン)のこと。Androidプラットフォーム上でアプリケーションを動作させるためのVMとして、ダン・ボーンスタイン(Dan Bornstein)とGoogle社が開発した。Androidの全てのアプリケーションがDalvik VM上で動作している。「Dalvik」の名称は、開発者であるボーンスタインの先祖が住んでいたアイスランドのエイヤフィヨルズル (Eyjafjörður) にある漁村「ダルビック (Dalvík) 」にちなんで名付けられた。VMとは、コンピュータの動作をエミュレート(あるシステム上でほかのOSやCPUの機能を再現し、アプリケーションソフトを動作させること)するソフトウェアやフレームワークのことである。ソフトウェアを用いてほかのOSやCPUが動作する実際のコンピュータを仮想的に構築するため、仮想マシンとよばれている。Dalvik VMは、Androidプラットフォームで使いやすいように、低メモリ環境でも動作できるように設計・開発されている。また、複数のアプリケーションが独立して同時に動作できるという特徴がある。Dalvik VMはJavaの実行環境であるJava VMと似たものと表現されることもあるが、Dalvik VMはCPU内のレジスタにデータを格納して演算処理を実行するレジスタベースのレジスタマシン、Java VMはスタック(一時的なデータ格納領域)にデータを格納して演算処理を実行するスタックベースのスタックマシンという大きな違いがあり、Dalvik VMの動作するバイトコードもJavaバイトコードとは異なる。動作するハードウェア環境が限定されるAndroidでは、演算処理に主メモリ上のスタックを介在させるスタックマシンよりも、CPU内のレジスタのみで実行するレジスタマシンのDalvik VMの方が、動作に必要なメモリ量(メモリのフットプリント)が小さく済み、動作速度的に有利だとされている。Dalvik VMが実行するのは「DEX(Dalvik Executable)」とよばれる独自形式のバイナリ・プログラムである。通常は、スタックベースのバイナリに比べてレジスタベースのバイナリの方が大きな容量となってしまうが、DEXはクラス名や変数名などを文字列ではなくシンボルに変換することで重複による無駄を減らし、小さいバイナリを実現している。

  • このエントリーをはてなブックマークに追加

カテゴリ:

関連キーワード・合わせて読みたいコンテンツ

Amazon書籍

関連書籍が見つかりませんでした。

PickUpWord

SNS

「Social Networking Service」の略で、人と人とのコミュニケーションをサポートするコミュニティ型Webサイト(サービス)のこと。日本では国内最大の会員数を持つ「mixi」..

more

人気のキーワード

↑このページの上部へ