Dalvik-virtuaalikone

Wikipedia
Loikkaa: valikkoon, hakuun

Dalvik on Google Android käyttöjärjestelmän prosessivirtuaalikone (VM) ja se vastaa joidenkin Androidin järjestelmäkirjastojen, sekä kaikkien Google Play sovelluskaupan sovellusten suorittamisesta. Ohjelmat on yleensä kirjoitettu Javalla ja käännetty tavukoodiksi. Ennen sovelluksen asennusta laitteeseen Java Virtual Machine-yhteensopivat .class tiedostot muutetaan Dalvik-yhteensopivaan .dex (Dalvik Executable) tiedostomuotoon. Dalvik Executable formaatti on kompakti ja varta vasten muistin ja prosessorin suorituskyvyn suhteen rajoittuneille järjestelmille suunniteltu.

Dalvik on Apache 2.0 lisenssin alainen avoimen lähdekoodin ohjelmisto. Alun perin ohjelmiston kirjoitti Dan Bornstein, joka nimesi sen Dalvik-kalastajakylän mukaan Eyjafjörðurissa, Islannissa, jossa hänen esi-isänsä asuivat.[1][2]

Arkkitehtuuri[muokkaa | muokkaa wikitekstiä]

Javan virtuaalikone perustuu pinopohjaiseen arkkitehtuuriin, Dalvik sen sijaan perustuu rekisteripohjaiseen arkkitehtuuriin. Tämän ratkaisun suorituskyvylliset hyödyt ja haitat ovat kiistelyn kohteena.[3] Oraclen vuonna 2010 ARM-alustalla tekemät standardit ei-graafiset suorituskykytestit Android 2.2:n ja Java SE embedded ohjelmistojen välillä osoittivat Androidin olevan 2-3 kertaa hitaampi sulautettuihin järjestelmiin tarkoitettuun Java SE versioon nähden.[4]

Androidin versiosta 2.2 alkaen Dalvik on tukenut ajonaikaista kääntämistä (JIT).[5]

Dalvik on suunniteltu sallimaan useiden virtuaalikoneiden samanaikaisen suorittamisen tehokkaasti.[6]

Dalvik Androidin ulkopuolella[muokkaa | muokkaa wikitekstiä]

Vuonna 2011 ohjelmistotalo Myriad Group tiedotti "Alien Dalvik" projektista, ohjelmistokäännöksestä muille käyttöjärjestelmille.[7][8]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. Journal entry referencing the source of the name
  2. Google Calling: Inside Android, the gPhone SDK onlamp.com. Viitattu 2008-02-05.
  3. Virtual Machine Showdown: Stack Versus Registers 2005-06-11. Viitattu 2009-12-22.
  4. Java SE Embedded Performance Versus Android 2.2 2010-11-22. Oracle Corporation. Viitattu 2011-09-04. ”The results show that although Androids new JIT is an improvement over its interpreter only implementation, Android is still lagging behind the performance of our Hotspot enabled Java SE Embedded. As you can see from the above results, Java SE Embedded can execute Java bytecodes from 2 to 3 times faster than Android 2.2.
  5. Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster 2010-05-13. Viitattu 2010-05-21.
  6. Google: What is Android? 2009-04-13. Viitattu 2009-04-19.
  7. Myriad Announces ‘Alien Dalvik’, Enables Android Apps to Run on Non-Android Phones 2011-02-08. Myriadgroup.com. Viitattu 2012-06-07.
  8. Alien Dalvik hopes to bring Android apps to Maemo and Meego 2011-02-08. All About MeeGo. Viitattu 2012-06-07.

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.