Uchaza umsebenzi we-Dvm ngaphakathi kwe-Android. Yichaze

Uhlaziyo lokugqibela: 04/10/2024

I-Dalvik Virtual Machine (okanye i-DVM) yinkqubo yokusebenza exhasa izicelo Android. I-bytcode ye-Dalvik iphunyeziwe kuyo. I-Android ingasetyenziswa ngeelwimi ezahlukeneyo, kodwa yenzelwe iitafile kunye neefowuni eziphathwayo. Izicelo ze-Android ziquka iibhloko ezininzi zokwakha, ezibizwa ngokuba ngamaqhekeza. Zinokudityaniswa nabanye ukwenza isicelo esipheleleyo. Makhe sibone ukuba injani i-DVM kwaye ingaba luncedo njani kwi-Android.

Usetyenziso lwe-Android lisebenzisa i-DVM njengomatshini wabo osisiseko. I-Dalvik bytecode ngowona matshini usisiseko oqhuba usetyenziso lwe-Android. Idibanisa neenkqubo zeJava. Nangona isenokungakhawulezi okanye isebenze njenge oomatshini ababonayo IJava ye-Android inobomi bebhetri obungcono, ukusetyenziswa kwememori kunye nokusebenza ngakumbi. I-Dalvik VM iqhuba usetyenziso lwe-Android kumatshini okumgangatho ophezulu nothembekileyo.

Ngaba ikhompyuter yeDalvik inendima?

Umatshini wenyani ubhekisa kwikhompyuter enenyani elusetyenziso lwekhompyuter ebonakalayo. Ungasebenzisa nayiphi na inkqubo eyilelwe. UDan Bornstein wenze ikhompyuter ye-Dalvik ye-Android. Le projekthi ngumthombo ovulekileyo. Isixhobo sinokusebenzisa iinkqubo ezininzi ngexesha elinye kwaye sithunyelwe kwezinye iinkqubo zokusebenza. Umatshini obonakalayo weDalvik ubalulekile ekwenzeni izinto ezininzi kunye nokugcina ibhetri.

I-Dalvik, ngokungafaniyo nomatshini we-Java, unokuqhuba iimeko ezininzi ngexesha. Iziphumo ze-subexpressions zinokugcinwa. I-Dalvik ibalulekile kuba isebenza kuzo zonke izixhobo ze-Android. Nasi isizathu sokuba abaphuhlisi be-Android beyidinga. Nje ukuba uyifakile iDalvik, qiniseka ukuba uyayisebenzisa. Uya kuvuya ngokuba wenzile.

I-Dalvik ngumatshini wenyani osebenzisa inkqubo yokusebenza ye-Android. Usetyenziso alunakusebenza kakuhle okanye lutshonile ngaphandle kwalo. Uyilo lwe-ARM lwe-Android luvumela uDalvik ukuba asebenzise izicelo kwindawo ezimeleyo. Oku kunciphisa ukusetyenziswa kobutyebi benkqubo. Kwi-Android 4.0, owandulelayo, umatshini we-ART wenyani, wenziwa wafumaneka. Bobabini basebenzisa ukuhlanganiswa kwe-JIT kunye ne-AOT, ngelixa oomatshini be-ART benyani bathatha indawo ye-Dalvik kwiinguqulelo zamva. I-Android 5.0 yayibizwa ngokuba yi "Lollipop" kwaye yasebenzisa umxube wezo zimbini. I-DVM inokuphumeza iinkqubo ezisekelwe kwiJava, eziguqulelwa kwi-bytecode ukuze zisetyenziswe kwinkqubo yokufundisa ye-Dalvik. Iinkqubo ze-Dalvik zikhawuleza kuneenkqubo ze-ART kwaye zisebenzisa imemori encinci.

Ithetha ukuthini i-ART kunye ne-DVM?

Ukuqonda ukwakhiwa kwezicelo ze-Android, amacandelo amabini afunekayo: i-DVM kunye ne-ART. Icandelo le-ART lenzelwe ukuvumela oomatshini abaninzi benyani ukuba basebenze kwizixhobo ezinobuncwane obuphantsi. Ukuqhuba izicelo, isebenzisa ifomathi ye-bytecode ye-DEX. Le fomati ye-bytecode ilungiselelwe ukuba ibe nenkumbulo encinci yeenyawo. Yenza ujongano lomsebenzisi (UI) luphendule ngakumbi. Uxwebhu olusemthethweni lwe-Android luqulethe ulwazi oluninzi malunga nala macandelo.

  Windows 10 imidlalo ibangela ukuba ikhompyuter ibe ngumkhenkce

I-Dalvik yayiyinkqubo yokuqala yokuphunyezwa kwe-Android Runtime. Ukwandisa ukusetyenziswa kwe-RAM, kusetyenziswe inkqubo yokuhlanganisa nje-ngexesha. I-Android L yongeze i-AOT ukukhawulezisa ukuhlanganiswa, kodwa ibangele ukusetyenziswa kwe-RAM ephezulu kunye namaxesha ofakelo olude. I-JIT ibuyiselwe kwi-Android N. Ukwakhiwa kweProfayili-eKhokelwayo (PGA) kuphuculwe ukusebenza kwekhowudi eqhutywa rhoqo. Nangona zombini i-ART kunye ne-DVM zisebenza nge-bytecode, kwaye zabelana ngemisebenzi efanayo kwi-JIT, ziyahluka kuyo.

U-Dalvik uguqula i-DEX bytecodes kwikhowudi yasekhaya. I-bytecode eninzi iqulunqwe kwaye igcinwe njengoko inkqubo iqhubeka. Isiphumo kukwenziwa kwekhowudi ekhawulezayo. I-ART ayifuni kuhlanganiswa kwe-JIT, ngoko ke kuthatha ixesha elide ukufaka isicelo. I-ART isebenzisa imemori encinci kune-Dalvik. Usenokubhideka ngomahluko wala malungu. Funda ukuze ufumanise ukuba basebenza njani kwi-Android.

Ichazwa njani iDVM?

I-DVM, uhlobo olukhethekileyo lomatshini wenyani onikezelwa yi-Android, ngumzekelo omnye. Isicelo ngasinye se-Android sine-DVM yayo. Isicelo esiqhelekileyo se-Android sinokuba nee-DVM ezilishumi. Nangona i-dispatcher inoxanduva lokulawula umsebenzi wobomi be-Android, kukho ukungafani phakathi kwe-DVMs (okanye ii-ARTs). Ngelixa eyokuqala ithatha inkumbulo encinci, eyesibini isebenzisa ngaphezulu. Izicelo ze-DVM kunye ne-ART zithatha imemori encinci, ngokulandelanayo.

Abaphuhlisi besicelo se-Android babhala ikhowudi yabo nge-bytecode, kwaye emva koko bayihlanganise ngokusebenzisa ikhompyuter ye-Dalvik ebonakalayo. Oku kwahlukile kwi-bytecode yeJava, eyenziwa yikhompyuter yenyani yeJava. Zombini zahlukile kwaye azikwazi ukwenza ulungiselelo lwexesha lokubaleka olusekwe kwiprofayile. Abaqulunqi be-AOT banokwenza usetyenziso oluphezulu lwekhowudi. Nangona kunjalo, azinakusetyenziswa kuzo zonke izicelo ze-Android.

Umatshini we-Dalvik virtual Uphando Yikhompyuter esekwe kwirejista enenyani eqhuba iinkqubo zeJava. Iirejista ze-CPU zisetyenziselwa ii-operands, kwaye umatshini wenyani uyazenza. Ngoko ke, imiyalelo ayi “tyhalwa” okanye “ityhalelwe ngasemva” kodwa inokususwa ukusuka kwelinye iqonga ukuya kwelinye. I-Dalvik iyakwazi ukugcina iziphumo zee-subexpressions eziqhelekileyo, into enokuthi imodeli esekelwe kwi-stack ayikwazi ukuyenza. I-Dalvik ephunyeziweyo iqhuba ikhompyuter ye-Dalvik kwaye ifumaneka kuphela kwi-Android.

  Yonke into omawuyazi malunga nokuba ngubani obhala kuwe kwiTellonym

Ithetha ukuthini i-DVM kwikhompyuter?

I-DVM ithetha uGqirha woNyango lweZilwanyana. Mhlawumbi uyaziqonda iileta ze-DVM kwikhompyuter yakho njengogqirha wezilwanyana. Lithetha ukuthini ke eli gama? Kukho indlela elula yokufumana intsingiselo ye-DVM. Fumanisa Okuninzi.

Inkqubo ye-DVM, eneneni, luhlobo lweprosesa eyongezelelweyo enokuqhuba kwiiprosesa ezininzi. Ukufumana naziphi na iimpazamo ngaphakathi kweprogram, ixabiso lezinto eziguquguqukayo zithelekiswa neziphumo zereferensi. Kuyenzeka ukuba uyiqokelele ngendlela ekhethekileyo eguqula inkqubo yomthombo kuphela, ifakela iifowuni kwimisebenzi yokulungisa ingxaki. Oku kukuvumela ukuba usebenzise izixhobo zokulungisa ezilandelelanayo eziqhelekileyo.

Ngaba i-Android isenayo i-DVM?

Ikhompyuter yenyani enokuqhuba kwii-smartphones ze-Android ibizwa ngokuba nguMatshini weDalvik Virtual (DVM). Iirejista ze-CPU zisetyenziselwa ukugcina ii-operands. Oku kuphelisa isidingo sokwakha iibhinari zezakhiwo ezahlukeneyo. Inani le-Re-Tools liyancitshiswa kwaye ukusebenza kwebhetri kuphuculwe. Nangona kunjalo, ukufakwa kwe-DVM kuthatha ixesha elide kwaye isebenzisa imemori eninzi kunoomatshini bokugawulwa kwemithi. Nangona abaphuhlisi bethanda i-DVM, uninzi lwabasebenzisi abayicebisi.

Umatshini we-Dalvik we-virtual (umatshini we-Java owenziwe kakuhle we-Android) yikhompyuter ye-Java esebenza ngokugqithisileyo. Iyakwazi ukuguqula ikhowudi yeJava ephezulu kwikhowudi yomatshini, kwaye igcine iziphumo zeentetho eziqhelekileyo. Nangona i-Dalvik inokusetyenziswa kuphela ngeefowuni ze-Android, ukubaluleka kwayo akunakulinganiswa. Kuphuhliso lwesicelo se-Android, i-DVM ikhethwa ngaphezu kwe-ART.

I-DVM ayikho ngaphandle kwayo. Ukongeza kwindawo enkulu yememori eyakhayo, i-DVM iphinda icinezele i-CPU kwaye inciphise ubomi bebhetri. Ngakolunye uhlangothi, i-AOT iqulunqa ikhowudi efunwa yi-CPU ngexesha lofakelo lwesicelo. Nangona i-AOT isebenza ngokufanelekileyo ngakumbi kune-DVM, ayifani namandla. Usetyenziso lwe-AOT lucotha ukuqalisa kunezicelo ze-DVM. Oku kungenxa yokuba basebenzisa imemori eninzi.

Yiyiphi indima edlalwa yi-Android Runtime?

Usetyenziso lwe-Android lusebenza kwi-Dalvik Virtual Machine (DVM). I-DVM iguqula iJava bytecode ibe yiDalvik bytecode. Ikwayikhowudi yemveli esetyenziswa zizixhobo ze-Android. I-Dalvik ayisebenzi ngokufanayo ne-JVM. Yenzelwe ukulayisha ngokukhawuleza kwizixhobo ezinememori ephantsi. I-JVM icotha kune-Dalvik, kwaye isebenze ngakumbi xa iqhuba izicelo ezininzi kwisixhobo esinye. Indawo kaGoogle kaDalvik ngo-2014 yayiyi-Android Runtime. Le Java-based runtime bume iphucula ukusebenza kwesicelo kunye nokusetyenziswa kwebhetri.

  Windows 7: Ndingazivula njani iifayile zeDmp?

Kukho iileya ezimbini kwi-Android Runtime. Lo maleko lithala leencwadi lemveli. Ibonelela ngenkxaso yokusebenza okusisiseko. Injini yonikezelo yeWebKit ikwaqulethwe kolu maleko. Oomatshini be-Dalvik virtual, ezisekelwe kwirejista, zibonelela ngokulungiswa kwiindawo eziphantsi kweememori. Yiyo loo nto iyinxalenye ebalulekileyo ye-Android. Lilungu elibalulekileyo elivumela abaphuhlisi ukuba benze izicelo ze-Android ngokusebenzisa ulwimi lwenkqubo. inkqubo Java

Ngowuphi umatshini wenyani osetyenziswa yi-Android?

Kuya kufuneka uyazi ukuba ngowuphi umatshini wakho efowuni ukukwazi ukuqhuba zombini iinkqubo zokusebenza ze-Android. Aba matshini benyani bamele usetyenziso lwesoftware kumatshini obonakalayo. Oomatshini benyani baqhuba zonke iintlobo zesoftware, kubandakanya nemidlalo. UDan Bornstein udale umatshini we-Android Dalvik we-Android. Umatshini wenyani ukhululekile ukukhuphela kwaye uyafumaneka simahla. Nangona i-Android ine-Dalvik efakiweyo, abanye abantu abaqinisekanga ukuba yeyiphi i-apps esetyenziswayo.

Zininzi iinketho. Owona matshini usetyenziswayo kakhulu kwi-Android ngumatshini we-Dalvik. Umatshini obonakalayo weDalvik ugcina ikhowudi yesicelo kwiirejista ze-CPU kwaye ayifuni imiyalelo yokutyhala okanye yokuphuma. I-Dalvik igcina iziphumo ze-subexpressions eziqhelekileyo kwiirejista ezibonakalayo ngaphakathi kwesixhobo sokusingatha. Olu phawu alufumaneki kwiimodeli ezisekwe kwibhetri. Umatshini wenyani weDalvik uqhuba iDalvik executables (DAL). Yenzelwe ngokukodwa inkqubo yokusebenza ye-Android.

Ungafumana ulwazi oluninzi ngokucofa apha

1.) IZiko loNcedo le-Android

2.) Android - Wikipedia

3.) Iinguqulelo ze-Android

4.) izikhokelo ze-android

Shiya amazwana