Dalvik-virtuaalikone

Wikipediasta
Siirry navigaatioon Siirry hakuun
Dalvik
Luoja Dan Bornstein
Tiedot
Ohjelmistotyyppi virtuaalikone
Lisenssi Apache-lisenssi

Dalvik on aiemmin käytetty Android-käyttöjärjestelmän virtuaalikoneena (VM).[1][2]

Dalvikin ajoympäristön on Androidissa versiosta 5.0 korvannut Android Runtime (ART), mutta se käyttää edelleen Dalvikin DEX-muotoa.[1][2][3] ART käyttää ajonaikaisen kääntämisen (engl. just-in-time, JIT) sijaan ennen ajoa tehtävää kääntämistä (engl. ahead-of-time), joka nopeuttaa ohjelmien käynnistymistä.[1][2]

Android-alustalle tehdyt työkalut (Jack) kääntävät Java-ohjelmat DEX-tavukoodiksi (lyhenne sanoista Dalvik Executable).[1]

Dalvik on Apache 2.0 -lisenssillä julkaistu 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.[4][5]

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.[6] 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.[7]

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

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

Dalvik Androidin ulkopuolella[muokkaa | muokkaa wikitekstiä]

Vuonna 2011 ohjelmistotalo Myriad Group tiedotti Alien Dalvik -projektista, ohjelmistokäännöksestä muille käyttöjärjestelmille.[10][11] Myriadin mukaan valtaosa Dalvik-virtuaalikoneelle tehdyistä Android-sovelluksista toimisi ilman muutoksia Alien Dalvikilla.[12]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. a b c d Platform Architecture developer.android.com. Viitattu 29.2.2020. (englanniksi) 
  2. a b c Experimental Google ART runtime in Android KitKat can bring twice faster app executions phonearena.com. 7.11.2013. Viitattu 29.2.2020. (englanniksi) 
  3. 'ART' experiment in Android KitKat improves battery life and speeds up apps engadget.com. 6.11.2013. Viitattu 29.2.2020. (englanniksi)
  4. Journal entry referencing the source of the name
  5. Google Calling: Inside Android, the gPhone SDK onlamp.com. Viitattu 5.2.2008.
  6. Virtual Machine Showdown: Stack Versus Registers usenix.org. 11.6.2005. Viitattu 22.12.2009.
  7. Java SE Embedded Performance Versus Android 2.2 22.11.2010. Oracle Corporation. ”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.” Viitattu 4.9.2011.
  8. Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster androidpolice.com. 13.5.2010. Viitattu 21.5.2010.
  9. Google: What is Android? developer.android.com. 13.4.2009. Viitattu 19.4.2009.
  10. Myriad Announces ‘Alien Dalvik’, Enables Android Apps to Run on Non-Android Phones 8.2.2011. Myriadgroup.com. Viitattu 7.6.2012.
  11. Alien Dalvik hopes to bring Android apps to Maemo and Meego 8.2.2011. All About MeeGo. Viitattu 7.6.2012.
  12. Myriad Alien DalvikInternet Archive

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

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