„Dalvik“: Munur á milli breytinga

Úr Wikipediu, frjálsa alfræðiritinu
Efni eytt Efni bætt við
Ásgeir IV. (spjall | framlög)
Ásgeir IV. (spjall | framlög)
Lína 76: Lína 76:
| publisher=infoq.com
| publisher=infoq.com
| date=2007-11-12
| date=2007-11-12
| quote=''Instead of providing a full version of the Java SE or Java ME Google has diverged on two fronts. First, a limited subset of the core Java packages is provided. (...) By going this route Android is following in the footsteps of another Google project GWT which uses Java as its development language but does not support the full JDK.''
| quote=''Í stað þess legga til fulla útgáfu Java SE eða Java ME hefur Google farið aðra leið í tvennum skilningi. Í fyrsta lagi er takmarkað hlutmengi kjarnapakka Java lagt til. (...) Þar með stefnir Android í sömu átt og annað Google-verkefni, GWT, sem notar Java sem þróunarmál sitt en styður ekki allan JDK.''
| accessdate=2009-05-31}}</ref><ref>{{cite web
| accessdate=2009-05-31}}</ref><ref>{{cite web
| url=http://droidtutorials.blogspot.com/2010/02/alternative-to-point2d.html
| url=http://droidtutorials.blogspot.com/2010/02/alternative-to-point2d.html

Útgáfa síðunnar 26. september 2010 kl. 19:29

Dalvik
HönnuðurDan Bornstein
StýrikerfiLinux
VerkvangurAndroid
Notkun Sýndarvél
LeyfiApache License 2.0
Vefsíða

Dalvik er heiti sýndarvélar Android-stýrikerfisins frá Google. Dalvik er innbyggður hluti Android, sem er aðallega notað í meðbærum tækjum svo sem farsímum, töflutölvum og netfartölvum. Áður en Android-forrit eru keyrð, er þeim breytt yfir á hið samþjappaða Dalvik Executable (.dex)-snið, sem er hannað fyrir kerfi með takmarkað vinnsluminni og örgjörvahraða.

Dalvik-sýndarvélin er, eins og Android að öðru leyti, opinn hugbúnaður. Upprunalegur höfundur hennar er Dan Bornstein, sem nefndi hana eftir bænum Dalvík þaðan sem hann er ættaður að langfeðgatali.[1][2]

Bygging

Ólíkt flestum sýndarvélum og sönnum Java-sýndarvélum sem eru staflavélar, er Dalvik-sýndarvélin skráarvél.

Skiptar skoðanir eru um hvor gerðin, staflavélar eða skráarvélar, hefur fleiri kosti[3] Almennt talað þurfa vélar af staflagerð að nota skipanir til að hlaða gögnum á staflann og meðhöndla þau, og þurfa því fleiri skipanir en skráarvélar til að inna sama hástigsmálið, en skipanirnar í skráarvél verða að kóða uppruna- og áfangastaðarskrárnar og eru því yfirleitt stærri. Þessi mismunur skiptir mestu máli fyrir sýndarvélartúlka en hjá þeim er oppkóða-tímaveiting yfirleitt dýr sem og aðrir þættir er varða tímanlega þýðingu.

Tól er nefnist dx er notað til að breyta sumum (en ekki öllum) Java-klasa-skrám yfir á .dex-sniðið. Margir klasar rúmast í einni .dex-skrá. Strengir og aðrir fastar sem notaðir eru í marg-klasa-skrám koma aðeins fyrir einu sinni í .dex-frálagi til að spara pláss. Java-bætakóða er einnig breytt yfir í annarskonar skipanamengi sem Dalvik-sýndarvélin notar. Óþjöppuð .dex-skrá er venjulega nokkrum prósentum minni en þjappað Java-gagnasafn sem leitt er út frá sömu .class-skrám.[4]

Dalvik-keyrsluskrám kann að vera breytt aftur þegar þær eru settar upp á meðbæru tæki. Í skyni frekari beztunar kann bætaröð að vera skipt út í vissum gögnum, einföldum gagnabyggingum og falla-söfn kunna að vera innlínu-tengd og tómum klasahlutum kann að vera skammhleypt, til dæmis.

Frá og með Android 2.2 hefur Dalvik tímanlegan þýðanda[5].

Þar eð Dalvik er beztuð fyrir litlar minniskröfur, hefur hún viss séreinkenni sem greina hana frá öðrum stöðluðum sýndarvélum:[6]

Ennfremur hefur Dalvik verið hönnuð þannig að tæki geti keyrt fleiri en eitt tilvik sýndarvélarinnar á skilvirkan hátt.[7]

Klasasafn

Dalvik lagar sig hvorki að Java SEJava ME klasasafna-prófílum [8][9] (þ.e. Java ME-klasar, AWT og Swing eru ekki studd). Hún notar sitt eigið safn í staðinn[10] á grundvelli hlutmengis Apache Harmony-Java-fullbúningarinnar.

Leyfismál

Dalvik er sögð vera fullbúning af gerð hreins-herbergis-hönnunar en ekki þróun ofan á staðlaða Java-keyrsluskrá, sem þýðir að hún erfir höfundarréttartengdar leyfistakmarkanir hvorki frá staðal- né opins-uppruna-útgáfum Java-keyrsluskráa.[11]

Dalvik er gefin út undir Apache 2-leyfinu.

Tilvísanir

  1. Dagbókarfærsla sem tilgreinir tilkomu heitisins
  2. „Google Calling: Inside Android, the gPhone SDK“. onlamp.com. Sótt 5. febrúar 2008.
  3. Shi, Yunhe; Gregg, David; Beatty, Andrew; Ertl, M. Anton (11. júní 2005). „Virtual Machine Showdown: Stack Versus Registers“ (PDF). Sótt 22. desember 2009.
  4. Bornstein, Dan (29. maí 2008). „Presentation of Dalvik VM Internals“ (PDF). Google. bls. 22. Sótt 16. ágúst 2010.
  5. „Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster“. 13. maí 2010. Sótt 21. maí 2010.
  6. Rose, John (31. maí 2008). „with Android and Dalvik at Google I/O“. Sótt 8. júní 2008.
  7. Google (13. apríl 2009). „What is Android?“. Sótt 19. apríl 2009.
  8. „Google's Android SDK Bypasses Java ME in Favor of Java Lite and Apache Harmony“. infoq.com. 12. nóvember 2007. Sótt 31. maí 2009. „Í stað þess að legga til fulla útgáfu Java SE eða Java ME hefur Google farið aðra leið í tvennum skilningi. Í fyrsta lagi er takmarkað hlutmengi kjarnapakka Java lagt til. (...) Þar með stefnir Android í sömu átt og annað Google-verkefni, GWT, sem notar Java sem þróunarmál sitt en styður ekki allan JDK.
  9. „Alternative to Point2D“. Droid Tutorials. 12. febrúar 2010. Sótt 17. febrúar 2010. „Given that AWT is not supported in Android API, the Point2D class, which is useful for writing 2D graphics, is missing either.
  10. „Package Index“. Open Handset Alliance. Sótt 31. maí 2009.
  11. Stefano Mazzocchi (12. nóvember 2007). „Dalvik: how Google routed around Sun's IP-based licensing restrictions on Java ME“. Sótt 16. ágúst 2010.