Що таке віртуальна машина dalvik (dalvik vm)

Dalvik Virtual Machine

Не секрет що, додатки під платформу Android вдають із себе програми для віртуальної машини Dalvik. Про Dalvik VM ми і поговоримо в цій статті.

Dalvik Virtual Machine є необхідною частиною мобільної платформи Андроїд. Це віртуальна машина, розробником якої є Dan Bornstein. Dalvik VM поширюється як вільне програмне забезпечення під GPL-сумісної ліцензією Apache 2.0. Багато в чому саме цей фактор зіграв свою важливу роль у вирішенні Гугл відмовитися від JME (Java Micro Edition), на яку потрібно було отримувати ліцензію від Sun. Тому корпорація, головною метою якої була розробка відкритої операційної системи, створила свою власну віртуальну машину.




На відміну від багатьох віртуальних машин наприклад (тієї ж Java Virtual Machine), які є стек-орієнтованими, Dalvik є регістр-орієнтованої, що ніяк не можна назвати типовим рішенням. Але з іншого боку, вона дуже добре підходить для роботи на процесорах RISC-архітектури, до яких відносяться і процесори ARM, широко застосовуються в мобільних пристроях.

arm




Dalvik замислювалася спеціально під платформу Андроїд. Враховувався той фактор, що платформа являє всі свої процеси як ізольовані, виконуються кожен в своєму адресному просторі. Віртуальна машина була оптимізована для невеликого споживання пам`яті та роботи на мобільному апаратному забезпеченні. Починаючи з версії Android 2.2., Dalvik використовує JIT (just-in-time) компіляцію. В результаті таких особливостей, вийшла дуже швидка і продуктивна віртуальна машина, що звичайно ж не може не позначатися на роботі додатків в цілому.

Dalvik Virtual Machine використовує свій власний байт-код. При розробці програми під Android переводяться компілятором в спеціальний машинно-незалежний низькорівневий код. При виконанні на платформі саме Dalvik Virtual Machine інтерпретує і виконує таку програму.

Крім цього, Dalvik Virtual Machine здатна переводити байт-коди Java в коди свого власного формату і також виконувати їх у своїй віртуальному середовищі. Програмний код пишеться на мові Java, а після компіляції все .class файли конвертуються в формат .dex (придатний для інтерпретації в Dalvik) за допомогою спеціальної утиліти dx, яка входить до складу Android SDK.

Поділися в соціальних мережах:

Схожі
Установка openvz в ubuntuУстановка openvz в ubuntu
Помилка df-dla-15 google play на андроїд, як виправитиПомилка df-dla-15 google play на андроїд, як виправити
Режим windows xp mode в windows 7Режим windows xp mode в windows 7
Human resource machineHuman resource machine
SystemcleanupSystemcleanup
Помилка 492 в google play (плей маркет) на андроїд, як виправитиПомилка 492 в google play (плей маркет) на андроїд, як виправити
Що таке віртуалізація kvmЩо таке віртуалізація kvm
Дозвіл екрану virtualbox в ubuntuДозвіл екрану virtualbox в ubuntu
Супер сумеСупер суме
Віртуальні машиниВіртуальні машини
» » Що таке віртуальна машина dalvik (dalvik vm)