Dalvik yazılımı Google tarafından geliştirilmiş, Android için yazılmış uygulamaları yürüten ve şu an durdurulan sanal makine (VM) 'dir. Dalvik, Android 4.4 "KitKat" ve önceki Android sürümlerinin yazılım yığınının ayrılmaz bir parçasıdır; tipik olarak cep telefonları ve tablet bilgisayarlar gibi mobil cihazlarda ve daha yakınlarda Smart TV'ler ve giyilebilir bilgisayar gibi cihazlarda kullanılırdı. Dalvik, açık kaynaklı yazılım, Dan Bornstein tarafından yazılmıştır ve ismini , İzlanda da yerleşen Dalvik balıkçı köyünden almıştır. Android için programlar yaygın olarak Java ile yazılmış ve Java sanal makinesi için baytkodu derlemiştir. Daha sonra Dalvik bytecodeye çevrilmiş ve .dex (Yürütülebilir Dalvik Dosyası) ve .odex (Optimize Edilmiş Yürütülebilir Dalvik Dosyası) dosyalarında saklanır. Kompakt Dalvik yürütülebilir biçimi sistemleri için tasarlanmış, bellek ve işlemci hızı açısından sınırlandırılmıştır.
Dalvik yazılımıyla çalışan bir Motorola | |
Geliştirici(ler) | |
---|---|
Geliştirme durumu | Durduruldu |
Programlama dili | C, |
Platform | Android, ARM mimarisi, MIPS mimarisi, x86 |
Tür | Çalıştırma ortamı |
Lisans | Apache Lisansı |
Resmî sitesi | source |
Kod deposu |
|
Dalvik'in halefi, Android Runtime (ART) 'dir; aynı bayt kodu ve .dex dosyaları kullanır (ancak .odex dosyası olmayan), son kullanıcılara şeffaf performans iyileştirmeleri hedefler. Yeni çalıştırma ortamı, bir teknoloji önizlemesi olarak Android KitKat sürümünde ilk kez yer aldı ve tamamen sonraki sürümlerinde Dalvik yerine geldi; Android 5.0 "Lollipop"-tan başlayan sürümler sadece ART ile çalışıyorlar.
Mimari
İstif makineleri Java'nın aksine Dalvik VM, genellikle daha karmaşık, sanal makine talimatları, daha az gerektiren bir kayıt tabanlı mimari kullanır. Dalvik programları, Android uygulama programlama arabirimi (API) kullanarak Java dilinde yazılmış, Java bytecode derlenmiş ve gerektiği gibi Dalvik talimatlara dönüştürülür. dx denilen bir araç .dex biçime Java .class dosyalarını dönüştürmek için kullanılır. Çoklu sınıflar tek bir .dex dosyasında bulunur. Yinelenen dizeleri ve çoklu sınıf dosyalarında kullanılan diğer sabitler sadece bir kez .dex-de dahildir. Java bytecode da Dalvik VM tarafından kullanılan alternatif bir komut kümesine dönüştürülür.
Sıkıştırılmamış .dex dosyası, genellikle boyut olarak aynı sınıf dosyalarından türetilmiş sıkıştırılmış bir Java arşivinden (JAR) birkaç yüzde küçüktür. Bir mobil cihaz üzerine monte edildiğinde Dalvik yürütülebilir tekrar modifiye edilebilir. Daha fazla optimizasyonları kazanmak için bayt sırası, bazı verilerde takas edilebilir, veri yapıları ve fonksiyon kütüphaneleri basit çevrimiçi bağlantılı olabilir ve boş sınıf nesneleri kısa devre olabilir.
Düşük bellek gereksinimleri için optimize edilen Dalvik'in bazı özel özellikleri vardır:
- VM az alanı kullanmak için aşağı zayıflama oldu.
- "Sabit havuz" yalnızca 32 bit endeksleri kullanmak için yorumlayıcını basitleştirmek için modifiye edilmiştir.
- Standart Java bytecode 8-bit yığın talimatları gerçekleştirir. Yerel değişkenlerin ayrı talimatlardan işlenen yığınından kopyalanması gerekir. Dalvik yerel değişkenler üzerinde doğrudan çalışır, kendi 16-bit komut setini kullanır. Yerel değişken yaygın 4-bit "sanal register" alanı tarafından seçilir. Bu, Dalvik talimat sayısını düşürür ve tercüman hızını yükseltir.
Google'a göre, Dalvik tasarımı verimli VM-den birden çok örneğini çalıştırmak için bir cihaz izin verir. Android 2.2 "Froyo", Dalvik içine iz tabanlı just-in-time (JIT) derleme getirdi, sürekli uygulamaları her zaman profilleme ile uygulamaların yürütülmesine optimize edir. Dalvik uygulamanın baytkodunu geri kalanını, "ipucu" olarak adlandırılan bu kısa baytkod segmentlerinin yerli yürütme, yorumlayıcı ederken, önemli performans geliştirmeleri sağlar.
Performans
Kayıt-tabanlı yaklaşımlara karşı yığın makinelerin göreli yararları devam eden tartışma konusudur. Genellikle yığın tabanlı makineler yığın üzerinde veri yüklemek ve bu verileri işlemek için talimatları kullanmaları gerekir ve böylece aynı uygulamak için kayıt makineleri daha fazla talimat gerektirir, ama bir kayıt makinesinde talimatların kaynak ve hedef kayıtlarının kodlamak gerekir ve bu nedenle, daha büyük olma eğilimindedir. Testler Oracle (Java teknolojisinin sahibi) tarafından 2010 yılında ARMv7 cihazlarda yapıldı. Standart olmayan grafik Java kriterler ile Android 2.2 JIT tabanlı Dalvik VM-e göre (JIT derleyicisi içeren ilk Android sürümü) Java SE HotSpot VM 2-3 kat daha hızlı gömülü gösterdi. 2012 yılında, akademik kriterler aynı Android cihazında ve Dalvik arasında 3 faktör doğruladı, ayrıca Dalvík kodunun HotSpot-dan daha küçük olmayan olduğuna dikkat çekti. Ayrıca, Mart 2014 itibarıyla, hala bir Android cihaz üzerinde gerçekleştirilen kriterler 100 yerli uygulamalar ve Dalvik uygulaması arasında bir faktör gösterir.
Lisanslama ve patentler
Dalvik Apache Lisansı 2.0 şartları altında yayınlandı. Google standart Java çalışma zamanı üstünde bir gelişmenin yerine Dalvikin bir temiz oda uygulaması olduğunu söylüyor. Oracle ve bazı yorumcular buna itiraz etdiler. 2009 yılı Nisan ayında Oracle Sun Microsystemsi satın aldı ve Oracle bu nedenle Java haklarına sahiptir. 12 Ağustos 2010 tarihinde, telif hakları ve patent iddia ihlali üzerine Google'ye dava açtı. Oracle, Googleni, Android'i gelişmekte, bilerek, doğrudan ve sürekli olarak Oracle'ın Java ile ilgili fikrî mülkiyetini ihlal ettiğini iddia etti. Mayıs 2012'de, bu durumda jüri Googlenin Oracle'ın patentleri ihlal etmediğini buldu ve duruşma hakimi Google tarafından kullanılan Java API'lerin yapısının telif olmadığına karar verdi. Taraflar kopyalanan kodun 9 hatları için yasal tazminat sıfır dolara anlaştılar. 9 Mayıs 2014 tarihinde, Federal Devre ABD Mahkemesi kısmen bölge kararı bozmuştur, Oracle lehine iktidar etti ve ve bölge mahkemesine geri adil kullanım sorununu geri gönderdi.
Kaynakça
- ^ "Arşivlenmiş kopya". 16 Temmuz 2016 tarihinde kaynağından . Erişim tarihi: 8 Ağustos 2016.
- ^ "Arşivlenmiş kopya". 11 Ocak 2016 tarihinde kaynağından . Erişim tarihi: 8 Ağustos 2016.
- ^ "Arşivlenmiş kopya". 13 Ekim 2016 tarihinde kaynağından . Erişim tarihi: 8 Ağustos 2016.
- ^ "Arşivlenmiş kopya". 17 Nisan 2016 tarihinde kaynağından . Erişim tarihi: 8 Ağustos 2016.
- ^ . 17 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016.
- ^ . 4 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016.
- ^ (PDF). 6 Kasım 2015 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 8 Ağustos 2016.
- ^ "Arşivlenmiş kopya". 8 Nisan 2017 tarihinde kaynağından . Erişim tarihi: 8 Ağustos 2016.
- ^ "Arşivlenmiş kopya" (PDF). 2 Ekim 2016 tarihinde kaynağından (PDF). Erişim tarihi: 8 Ağustos 2016.
- ^ "Arşivlenmiş kopya". 9 Ağustos 2016 tarihinde kaynağından . Erişim tarihi: 8 Ağustos 2016.
- ^ "Arşivlenmiş kopya". 2 Haziran 2012 tarihinde kaynağından . Erişim tarihi: 8 Ağustos 2016.
- ^ "Arşivlenmiş kopya". 14 Temmuz 2016 tarihinde kaynağından . Erişim tarihi: 8 Ağustos 2016.
Dış bağlantılar
- Resmi Sayfası15 Mart 2015 tarihinde Wayback Machine sitesinde .
Ayrıca bakınız
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Dalvik yazilimi Google tarafindan gelistirilmis Android icin yazilmis uygulamalari yuruten ve su an durdurulan sanal makine VM dir Dalvik Android 4 4 KitKat ve onceki Android surumlerinin yazilim yigininin ayrilmaz bir parcasidir tipik olarak cep telefonlari ve tablet bilgisayarlar gibi mobil cihazlarda ve daha yakinlarda Smart TV ler ve giyilebilir bilgisayar gibi cihazlarda kullanilirdi Dalvik acik kaynakli yazilim Dan Bornstein tarafindan yazilmistir ve ismini Izlanda da yerlesen Dalvik balikci koyunden almistir Android icin programlar yaygin olarak Java ile yazilmis ve Java sanal makinesi icin baytkodu derlemistir Daha sonra Dalvik bytecodeye cevrilmis ve dex Yurutulebilir Dalvik Dosyasi ve odex Optimize Edilmis Yurutulebilir Dalvik Dosyasi dosyalarinda saklanir Kompakt Dalvik yurutulebilir bicimi sistemleri icin tasarlanmis bellek ve islemci hizi acisindan sinirlandirilmistir DalvikDalvik yazilimiyla calisan bir MotorolaGelistirici ler GoogleGelistirme durumuDurdurulduProgramlama diliC C PlatformAndroid ARM mimarisi MIPS mimarisi x86TurCalistirma ortamiLisansApache LisansiResmi sitesisource wbr android wbr com wbr devices wbr tech wbr dalvik wbr index wbr html Kod deposuandroid googlesource com platform dalvikDalvik ve ART mimarileri karsilastirilmasi Dalvik in halefi Android Runtime ART dir ayni bayt kodu ve dex dosyalari kullanir ancak odex dosyasi olmayan son kullanicilara seffaf performans iyilestirmeleri hedefler Yeni calistirma ortami bir teknoloji onizlemesi olarak Android KitKat surumunde ilk kez yer aldi ve tamamen sonraki surumlerinde Dalvik yerine geldi Android 5 0 Lollipop tan baslayan surumler sadece ART ile calisiyorlar MimariIstif makineleri Java nin aksine Dalvik VM genellikle daha karmasik sanal makine talimatlari daha az gerektiren bir kayit tabanli mimari kullanir Dalvik programlari Android uygulama programlama arabirimi API kullanarak Java dilinde yazilmis Java bytecode derlenmis ve gerektigi gibi Dalvik talimatlara donusturulur dx denilen bir arac dex bicime Java class dosyalarini donusturmek icin kullanilir Coklu siniflar tek bir dex dosyasinda bulunur Yinelenen dizeleri ve coklu sinif dosyalarinda kullanilan diger sabitler sadece bir kez dex de dahildir Java bytecode da Dalvik VM tarafindan kullanilan alternatif bir komut kumesine donusturulur Sikistirilmamis dex dosyasi genellikle boyut olarak ayni sinif dosyalarindan turetilmis sikistirilmis bir Java arsivinden JAR birkac yuzde kucuktur Bir mobil cihaz uzerine monte edildiginde Dalvik yurutulebilir tekrar modifiye edilebilir Daha fazla optimizasyonlari kazanmak icin bayt sirasi bazi verilerde takas edilebilir veri yapilari ve fonksiyon kutuphaneleri basit cevrimici baglantili olabilir ve bos sinif nesneleri kisa devre olabilir Dusuk bellek gereksinimleri icin optimize edilen Dalvik in bazi ozel ozellikleri vardir VM az alani kullanmak icin asagi zayiflama oldu Sabit havuz yalnizca 32 bit endeksleri kullanmak icin yorumlayicini basitlestirmek icin modifiye edilmistir Standart Java bytecode 8 bit yigin talimatlari gerceklestirir Yerel degiskenlerin ayri talimatlardan islenen yiginindan kopyalanmasi gerekir Dalvik yerel degiskenler uzerinde dogrudan calisir kendi 16 bit komut setini kullanir Yerel degisken yaygin 4 bit sanal register alani tarafindan secilir Bu Dalvik talimat sayisini dusurur ve tercuman hizini yukseltir Google a gore Dalvik tasarimi verimli VM den birden cok ornegini calistirmak icin bir cihaz izin verir Android 2 2 Froyo Dalvik icine iz tabanli just in time JIT derleme getirdi surekli uygulamalari her zaman profilleme ile uygulamalarin yurutulmesine optimize edir Dalvik uygulamanin baytkodunu geri kalanini ipucu olarak adlandirilan bu kisa baytkod segmentlerinin yerli yurutme yorumlayici ederken onemli performans gelistirmeleri saglar PerformansKayit tabanli yaklasimlara karsi yigin makinelerin goreli yararlari devam eden tartisma konusudur Genellikle yigin tabanli makineler yigin uzerinde veri yuklemek ve bu verileri islemek icin talimatlari kullanmalari gerekir ve boylece ayni uygulamak icin kayit makineleri daha fazla talimat gerektirir ama bir kayit makinesinde talimatlarin kaynak ve hedef kayitlarinin kodlamak gerekir ve bu nedenle daha buyuk olma egilimindedir Testler Oracle Java teknolojisinin sahibi tarafindan 2010 yilinda ARMv7 cihazlarda yapildi Standart olmayan grafik Java kriterler ile Android 2 2 JIT tabanli Dalvik VM e gore JIT derleyicisi iceren ilk Android surumu Java SE HotSpot VM 2 3 kat daha hizli gomulu gosterdi 2012 yilinda akademik kriterler ayni Android cihazinda ve Dalvik arasinda 3 faktor dogruladi ayrica Dalvik kodunun HotSpot dan daha kucuk olmayan olduguna dikkat cekti Ayrica Mart 2014 itibariyla hala bir Android cihaz uzerinde gerceklestirilen kriterler 100 yerli uygulamalar ve Dalvik uygulamasi arasinda bir faktor gosterir Lisanslama ve patentlerDalvik Apache Lisansi 2 0 sartlari altinda yayinlandi Google standart Java calisma zamani ustunde bir gelismenin yerine Dalvikin bir temiz oda uygulamasi oldugunu soyluyor Oracle ve bazi yorumcular buna itiraz etdiler 2009 yili Nisan ayinda Oracle Sun Microsystemsi satin aldi ve Oracle bu nedenle Java haklarina sahiptir 12 Agustos 2010 tarihinde telif haklari ve patent iddia ihlali uzerine Google ye dava acti Oracle Googleni Android i gelismekte bilerek dogrudan ve surekli olarak Oracle in Java ile ilgili fikri mulkiyetini ihlal ettigini iddia etti Mayis 2012 de bu durumda juri Googlenin Oracle in patentleri ihlal etmedigini buldu ve durusma hakimi Google tarafindan kullanilan Java API lerin yapisinin telif olmadigina karar verdi Taraflar kopyalanan kodun 9 hatlari icin yasal tazminat sifir dolara anlastilar 9 Mayis 2014 tarihinde Federal Devre ABD Mahkemesi kismen bolge karari bozmustur Oracle lehine iktidar etti ve ve bolge mahkemesine geri adil kullanim sorununu geri gonderdi Kaynakca Arsivlenmis kopya 16 Temmuz 2016 tarihinde kaynagindan Erisim tarihi 8 Agustos 2016 Arsivlenmis kopya 11 Ocak 2016 tarihinde kaynagindan Erisim tarihi 8 Agustos 2016 Arsivlenmis kopya 13 Ekim 2016 tarihinde kaynagindan Erisim tarihi 8 Agustos 2016 Arsivlenmis kopya 17 Nisan 2016 tarihinde kaynagindan Erisim tarihi 8 Agustos 2016 17 Agustos 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 8 Agustos 2016 4 Agustos 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 8 Agustos 2016 PDF 6 Kasim 2015 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 8 Agustos 2016 Arsivlenmis kopya 8 Nisan 2017 tarihinde kaynagindan Erisim tarihi 8 Agustos 2016 Arsivlenmis kopya PDF 2 Ekim 2016 tarihinde kaynagindan PDF Erisim tarihi 8 Agustos 2016 Arsivlenmis kopya 9 Agustos 2016 tarihinde kaynagindan Erisim tarihi 8 Agustos 2016 Arsivlenmis kopya 2 Haziran 2012 tarihinde kaynagindan Erisim tarihi 8 Agustos 2016 Arsivlenmis kopya 14 Temmuz 2016 tarihinde kaynagindan Erisim tarihi 8 Agustos 2016 Dis baglantilarResmi Sayfasi15 Mart 2015 tarihinde Wayback Machine sitesinde Ayrica bakinizAndroid Runtime