Dalvik (yazılım) - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Mimari
  • 2 Performans
  • 3 Lisanslama ve patentler
  • 4 Kaynakça
  • 5 Dış bağlantılar
  • 6 Ayrıca bakınız

Dalvik (yazılım)

  • العربية
  • Català
  • Čeština
  • Deutsch
  • English
  • Español
  • فارسی
  • Suomi
  • Français
  • Magyar
  • Bahasa Indonesia
  • Íslenska
  • İtaliano
  • 日本語
  • 한국어
  • Bahasa Melayu
  • Nederlands
  • Polski
  • Português
  • Русский
  • Slovenčina
  • Српски / srpski
  • Svenska
  • Українська
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
Dalvik
Dalvik yazılımıyla çalışan bir Motorola
GeliştiriciGoogle
Kod deposu
  • android.googlesource.com/platform/dalvik
Bunu Vikiveri'de düzenleyin
Programlama diliC, C++
PlatformAndroid, ARM mimarisi, MIPS mimarisi, x86
TürÇalıştırma ortamı
LisansApache Lisansı
Resmî sitesisource.android.com/devices/tech/dalvik/index.html Bunu Vikiveri'de düzenleyin


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.[1] 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 Eyjafjörður, İzlanda da yerleşen Dalvik balıkçı köyünden almıştır.[2] 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.[3]

Dalvik ve ART mimarileri karşılaştırılması

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

[değiştir | kaynağı değiştir]

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

  • 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.[7][8]

Performans

[değiştir | kaynağı değiştir]

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ı yüksek seviyede kodu 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.[9] 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 HotSpot 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

[değiştir | kaynağı değiştir]

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ı.[10] 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.[11] Taraflar kopyalanan kodun 9 hatları için yasal tazminat sıfır dolara anlaştılar.[12] 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

[değiştir | kaynağı değiştir]
  1. ^ "Debug ART garbage collection". 16 Temmuz 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  2. ^ "(no title)". 11 Ocak 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  3. ^ "Dalvik Virtual Machine(DVM) nedir?". 13 Ekim 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  4. ^ "Android işletim sisteminde büyük değişiklik, Hoşçakal Dalvik Merhaba ART". 17 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  5. ^ "Dalvik Sanal Makinesi Nedir". 17 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  6. ^ "Arşivlenmiş kopya". 4 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  7. ^ "Bespoke App Developers" (PDF). 6 Kasım 2015 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  8. ^ "Apps & Software". 8 Nisan 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  9. ^ "Wayback Machine" (PDF). 2 Ekim 2016 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 8 Ağustos 2016. 
  10. ^ "The real history of Java and Android, as told by Google". 9 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  11. ^ "Google wins crucial API ruling, Oracle's case decimated". 2 Haziran 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 
  12. ^ "Oracle agrees to". 14 Temmuz 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 8 Ağustos 2016. 

Dış bağlantılar

[değiştir | kaynağı değiştir]
  • Resmi Sayfası15 Mart 2015 tarihinde Wayback Machine sitesinde arşivlendi.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • Android Runtime
  • g
  • t
  • d
Android
Geliştirme
  • Android Runtime (ART)
  • Daydream (Google)
  • Google Cardboard
  • Android yazılım geliştirmesi
  • SDK
  • NDK
  • Android Open Accessory Development Kit
  • APK
  • Apache Ant
  • Bionic
  • Dalvik
  • OpenBinder
  • Geliştirici Yarışması
  • Developer Lab
  • Android Studio
  • Eclipse
  • Google Developers
  • App Inventor
  • Google I/O
  • Renderscript
  • Android Debug Bridge
  • Fastboot
  • Microbridge
Android logo
Android sürümleri
  • Alpha (1.0)
  • Beta (1.1)
  • Cupcake (1.5)
  • Donut (1.6)
  • Eclair (2.0 - 2.1)
  • Froyo (2.2 - 2.2.3)
  • Gingerbread (2.3 - 2.3.7)
  • Honeycomb (3.0 - 3.2.6)
  • Ice Cream Sandwich (4.0 - 4.0.4)
  • Jelly Bean (4.1 - 4.3.1)
  • KitKat (4.4 - 4.4.4)
  • Lollipop (5.0 - 5.1.1)
  • Marshmallow (6.0 - 6.0.1)
  • Nougat (7.0 - 7.1.2)
  • Oreo (8.0 - 8.1)
  • Pie (9)
  • Quince Tart (10)
  • Red Velvet Cake (11)
  • Snow Cone (12)
  • Tiramisu (13)
  • Upside Down Cake (14)
Android Türevleri
  • Android Auto
  • Android TV
  • Android Wear
  • Android Beam
  • Android Things
Galaxy Nexus
  • Nexus One
  • Nexus S
  • Galaxy Nexus
  • Nexus 4
  • Nexus 5
  • Nexus 5X
  • Nexus 6
  • Nexus 6P
  • Nexus 7
    • 2012 versiyonu
    • 2013 versiyonu
  • Nexus 10
  • Nexus 9
  • Nexus Q
  • Nexus Player
Google Play sürümü cihazların listesi
  • HTC One
  • HTC One (M8)
  • LG G Pad 8.3
  • Moto G
  • Samsung Galaxy S4
  • Sony Xperia Z Ultra
Çatallar ve dağılımları
  • AOKP
  • Baidu Yi
  • Barnes & Noble Nook
  • CyanogenMod
  • Color OS
  • Fire OS
  • Flyme OS
  • LeWa OS
  • MIUI
  • Nokia X Software Platform
  • OPhone
  • OmniROM
  • OxygenOS
  • Replicant
  • Ubuntu for Android
  • XobotOS
Türevleri
  • Tamamen serbest
    • Replicant
    • Android Wear
  • Kısmen serbest
    • Aliyun OS
    • Baidu Yi
    • CyanogenMod
    • Lineage OS
    • OMFGB
    • MIUI
    • OPhone
Android işletim sistemi uygulamaları
  • Earth
  • Gmail
  • Google Chrome Android
  • Goggles
  • Hangouts
  • Haritalar
    • Navigation
  • Pay
  • Play
    • Play Kitaplar
    • Play Müzik
    • Play Gazetelik
    • Play Oyunlar
    • Play Filmler ve TV
  • Sky
  • Talk
  • Voice
  • YouTube
Servisler
  • Google Play
  • Google Arama
  • Google Cloud Messaging (eskiden Android C2DM)
Listeler
  • Android-ilişkili konular
  • Android versiyon geçmişi
  • Android cihazlar
  • E-kitap okuma yazılımı
  • Açık kaynak kodlu Android uygulamaları
  • Android Launchers
Alternatif arayüzler (Kabuk programlama)
  • Material Design
  • HTC Sense
  • Huawei EMUI
  • Motorola Motoblur
  • Samsung One UI
  • Samsung Experience
  • Samsung TouchWiz
  • Barnes & Noble Nook
  • Asus Zen UI
  • Hive UI
  • Optimus UI
Diğer
  • Rooting
  • Java ve Android API karşılaştırılması
  • Androidland
  • Android lawn statues
  • RootzWiki
  • XDA Developers
  • Android için Ubuntu
  • Google Chrome Android
  • g
  • t
  • d
Google
  • Alphabet
  • Ads
  • Android
    • Cihazlar
    • Nexus
    • Pixel
  • Haritalar
  • YouTube
Şirket
  • Ana hatlar
  • Tarihçe
  • Alphabet
  • Don't be evil
  • Eleştiri
    • mahremiyet endişeleri
  • Dava
  • İşçi kuruluşu
  • Sansür
  • Satın alınan şirketler
  • Ürünler
Taşınmazlar
  • 111 Eighth Avenue
  • Chelsea Market
  • Googleplex
  • Veri merkezleri
Bölümler
  • Android
  • Glass
  • Google Ads
  • Google AI
  • Google Arama
  • Google Chrome
  • Google Cloud
  • Google Haritalar
  • Google Nest
  • Google Pixel
  • YouTube
Etkinlikler
  • Code-in
  • Code Jam
  • Developer Day
  • I/O
  • Science Fair
  • Summer of Code
  • Talks at Google
Kişiler
  • Al Gore
  • Alan Eustace
  • Alan Mulally
  • Amit Singhal
  • Ann Mather
  • David Drummond
  • Eric Schmidt
  • Jeff Dean
  • John Doerr
  • John L. Hennessy
  • Krishna Bharat
  • Matt Cutts
  • Patrick Pichette
  • Paul Otellini
  • Omid Kordestani
  • Rachel Whetstone
  • Rajen Sheth
  • Ram Shriram
  • Ray Kurzweil
  • Ruth Porat
  • Salar Kamangar
  • Sanjay Ghemawat
  • Shirley M. Tilghman
  • Sundar Pichai
  • Susan Wojcicki
  • Urs Hölzle
  • Vint Cerf
  • Hal Varian
Terimler
  • Gayglers
  • Google Developer Expert
Kurucular
  • Larry Page
  • Sergey Brin
Ürünler
Yazılım
  • Asistan
  • Chrome
    • Android
    • Chromium
    • Web Mağazası
  • Cloud Print
  • Earth
  • Fotoğraflar
  • Gadgets
  • Gboard
  • Haberler
  • IME
    • Japonca
    • Pinyin
  • Kamera
  • Keep
  • Lens
  • Now
  • OpenRefine
  • Pay
  • Pay Send
  • Snapseed
  • Wallet
İşletim sistemleri
  • Android
    • sürüm geçmişi
    • yazılım geliştirme
    • Android Automotive
    • Android TV
    • Wear OS
      • cihazlar
  • Chrome OS
    • Uygulama
  • Fuchsia
Programlama dilleri
  • Dart
  • Go
  • Sawzall
Frmaework'ler
  • Angular
  • AngularJS
  • AJAX APIs
  • Dialogflow
  • Flutter
  • Guava
  • Guice
  • TensorFlow
İletişim
  • Alerts
  • Apps Script
  • Çeviri
  • Duo
  • Gmail
    • tarihçe
    • arayüz
  • Gruplar
  • Harf Çevirme Aracı
  • Hangouts
  • Kişiler
  • Metin Okuma
  • Sync
  • Takvim
  • Voice
Platformlar
  • Authenticator
  • Android Auto
  • Cast
  • Cloud
  • Fit
  • GFS
  • Hesap
  • Native Client
  • OpenSocial
  • Pay
  • Primer
  • Play
    • Filmler ve TV
    • Gazetelik
    • Kitaplar
    • Müzik
    • Oyunlar
  • Podcasts
  • Public DNS
  • Safe Browsing
  • Stadia
  • Tango
  • Google Web Server
  • Workspace
  • YouTube
  • Zygote Body
Geliştirme
  • App Inventor
  • Caja
  • Closure Tools
  • Developers
  • Firebase
  • GData
  • KML
  • Kythe
  • MapReduce
  • Owlchemy Labs
  • Web Toolkit
  • Search Console
  • Website Optimizer
  • Swiffy
Yayıncılık
  • AMP
  • Blogger
  • Domains
  • Drive
    • Çizimler
    • Dokümanlar
    • E-Tablolar
    • Formlar
    • Slaytlar
  • Favori Sayfalar
  • FeedBurner
  • Podcasts
  • Sites
  • YouTube
    • Instant
    • Premium
  • Vevo
  • Zagat
Arama
(zamandizin)
  • Akademik
  • Alışveriş
  • Blog Arama
  • Finans
  • Googlebot
  • Görseller
  • Haberler
    • Arşiv
  • Halka Açık Veriler
  • Haritalar
    • Street View
      • kapsam
      • mahremiyet endişeleri
  • Kitaplar
    • Ngram Viewer
  • Özel Arama
  • Patents
  • Sözlük
  • Tenor
  • Uçuşlar
  • Veri Kümesi Arama
  • Video
Algoritmalar
  • PageRank
  • Panda
  • Penguin
  • Hummingbird
Özellikler
  • Kişiselleştirme
  • SafeSearch
  • Sesli Arama
Analiz
  • Bilgi Grafiği
  • Trendler
    • Arama Trendleri
Donanım
  • Glass
  • Home
  • Jamboard
  • OnHub
Sanal gerçeklik
  • Cardboard
  • Daydream
Nest
  • Learning Thermostat
  • Wifi
Akıllı telefonlar
  • Nexus
  • Pixel
Chrome
  • Chromebit
  • Chromecast
  • Chromebook
  • Chromebox
Diğer
  • .google
  • Arts & Culture
  • ATAP
  • Gemini
  • Chrome Zone
  • Data Transfer Project
  • Dragonfly
  • Current
  • Chrome Experiments
  • Google Business Groups
  • Made with Code
  • Data Liberation
    • Paket Servisi
  • Google (fiil)
  • Google China
  • Google Express
  • Google'laştırma
  • Google.org
  • Logo
    • Doodle4Google
    • Google Doodle
  • Lunar X Prize
  • Google Fi
  • Google Station
  • Malzeme Tasarımı
  • Motorola Mobility
  • Nest Labs
  • reCAPTCHA
  • Sunroof
  • WiFi
  • AI Challenge
  • Şakalar
    • elgooG
İlgili
  • Google bombalaması
  • Goojje
  • Monopoly City Streets
  • Unity
Belgeseller
  • Google: Behind the Screen
  • Google: The Thinking Factory
  • Google and the World Brain
Kategori Kategori
  • İtalik durdurulmuş ürünleri ve hizmetleri gösterir
"https://tr.wikipedia.org/w/index.php?title=Dalvik_(yazılım)&oldid=35656887" sayfasından alınmıştır
Kategoriler:
  • Android (işletim sistemi)
  • Java ortamı
  • Java Sanal Makinesi
Gizli kategoriler:
  • Hiçbir veri sırasıyla bilgi kutusu şablonlarını kullanan maddeler
  • Bilgi alt kutulu maddeler
  • Webarşiv şablonu wayback bağlantıları
  • Sayfa en son 18.03, 10 Temmuz 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Dalvik (yazılım)
Konu ekle