دالویک (نرم‌افزار)

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
دالویک
نویسنده(های) اصلی دن بورنستین
سیستم‌عامل هسته لینوکس
سکو آندروید
پروانه اجازه‌نامه آپاچی ۲
وب‌گاه http://code.google.com/p/dalvik/

دالویک پردازشگر ماشین مجازی است که در محصول معروف گوگل، سیستم‌عامل اندروید مورد استفاده قرار می‌گیرد. دالویک بخش داخلی اندروید است که به صورت معمول در دستگاه‌های همراه مانند تلفن همراه، رایانه‌های لوحی و نت بوک‌ها مورد استفاده قرار می‌گیرد. برنامه‌های آندروید به فرمت قابل اجرای (.dex) تبدیل می‌شود. این روش برای سیستم‌هایی مناسب است که از نظر فضای حافظه رم و سرعت پردازنده مرکزی دچار محدودست هستند.

دالویک، مانند باقی سامانه‌ی آندروید تا نگارش ۲.۳[۱] متن باز است. این برنامه توسط دان بورنستین نوشته‌شد، که به خاطر ماهیگری در روستایی در ایسلند به همین نام و به یاد این روستا که زمانی اعقابش در این روستا بودن؛ به نام دالویک نامگذاری نمود. [۲] [۳]

معماری[ویرایش]

Architecture Diagram

برخلاف ماشین‌های مجازی جاوا، که ماشین‌های پشته‌ایی هستند، دالویک ماشینی مبتنی بر معماری رجیستری است. البته درباره‌ی برتری ماشین‌های مبتنی بر رجیستری نسبت به ماشنی پشته‌ایی مساله‌ای در حال بحث است.[۴] عموم ماشین‌های مجازی پشته‌ایی باید از دستورات برای بارگذاری داده‌های در پشته و اعمال تغییرات بر روی آن‌ها استفاده نماید. بنابراین نسبت به ماشین‌های مبتنی بر رجیستر به دستورات بیشتری برای کد سطح بالا نیاز دارد. ولی دستورات در ماشین رجیستری باید به صورت مبدا و مقصد باشد که منجر به بزرگ شدن دستورات خواهد شد. این تفاوت پایه‌ایی در ترجمه در زمان بسیار مهم‌است و تعیین کننده.

ابزاری که با نام dx، برای تبدیل بخشی از کد جاوا(نه تمام آن) که به صورت .class است به گونه‌ی dex. به کار می‌رود. چندین فایل کلاس می‌تواند به درون یک فایل dex. قرار گیرد. رشته‌هایی که چندین بار در کلاس‌های استفاده‌شدن‌اند تنها یکبار در dex. خروجی ظاهر می‌شود. بایت کد جاوا به شکلی از محموعه دستورات جایگزین که توسط ماشین مجازی دالویک قابل قبول است، تبدیل می‌شود. یک فایل غیر فشرده‌ی dex. معمولاً چند درصد کوچکتر از فایل jar. معادل است. [۵]

کتابخانه[ویرایش]

دالویک نه کاملاً منطبق با جی۲ام‌ایی است و نه منطبق بر جی۲اس‌ایی[۶][۷] برای مثال کلاس‌های جاواام‌ایی از قبیل ای‌دبیلوتی یا سوینگ مورد پشتیبانی قرار نمی‌گیرد در عوض از کلاس‌های کتابخانه‌ی مخصوص به خودش استفاده می‌نماید[۸] که مبتنی بر پیاده‌سازی آپاچی هارمونی از جاواست.

اجازه‌نامه و پتنت‌ها[ویرایش]

گوگل ادعا نمود که دالویک را طی قرآیند اتاق تمیز طراحی نموده‌است. این کار به جای انجام طراحی بر روی نسخه‌ی استاندارد جاوا انجام‌شد تا گرفتار مسائل حقوقی و مبتنی بر رعایت حق مولف نگردد[۹]. دالویک تحت اجازه‌نامه آپاچی ۲.۰ منتر شد.[۱۰]

اوراکل که بعد از خریداری شرکت سان میکروسیستمز مالک حقوق جاوا شده بود، در تاریخ ۲۱ مرداد ۱۳۹۰، از گوگل به خاطر عدم رعایت حق مولف و عدم رعایت استفاده‌ی درست از پتنت‌های جاوا، از این شرکت شکایت نمود.[۱۱][۱۲][۱۳].

ماشین مجازی ART[ویرایش]

Art‌ (به انگلیسی: Android RunTime) ماشین مجازی بعدی اندروید است و قرار است جایگزین دالویک شود. گوگل در اندروید ۴.۴ Art را در کنار دالویک قرار داد و کاربران می‌توانند با مراجعه به تنظیمات آن را فعال کنند. از مزایا Art نسبت به دالویک میتوان اجرای سریع تر برنامه ها و عمر بیشتر باتری را نام برد [۱۴]. این ماشین مجازی از روش «پس‌کامپایل» (به انگلیسی: Ahead-of-Time(AOT)) بهره می‌برد که برنامه را قادر می‌ساز تا ترجمه‌ٔ بایت‌کد را تا زمان نصب برنامه در سیستم به تاخیر اندازد. در حال حاضر این ماشین مجازی برتری محسوسی را به وجود نیاورده است و حتی در مواردی کندتر است اما این موضوع به شدت به نوع «آزمون» بستگی دارد. همچنین افزایش زمان نصب و افزایش ۱۰٪ تا ۲۰٪ حجم فایل نصب شده نیز سایر ویژگی‌های نامطلوب آن است.[۱۵] [۱۶] در گوگل I/O ۲۰۱۴ اعلام شد که از نسخه‌ٔ بعدی اندروید این ماشین مجازی جایگزین داولیک خواهد شد و ماشین زمانِ اجرای پیش‌فرش اندروید خواهد شد.

پیوند[ویرایش]

منابع[ویرایش]

  1. «اندروید گوگل ۳.۰ «بستنی عسلی»: متن باز، دیگر نه!». [زی‌دی‌نت]]، ۴ فروردین ۱۳۹۰. بازبینی‌شده در ۶ شهریور ۱۳۹۰. 
  2. Journal entry اشاره به مبدا نام
  3. Empty citation (help) 
  4. ام. آنتون ارتل، یان‌هی شی، دیوید گرگ، اندرو بیتی. «نمایش قدرت ماشین مجازی: پشته‌ایی در مقابل رجیستری». ۲۰ مرداد ۱۳۸۸. بازبینی‌شده در ۶ شهریور ۱۳۹۰. 
  5. دن بورنستین. «تشریح ساختار درونی ماشین مجازی دالویک». گوگل، ۸ مرداد ۱۳۸۷. بازبینی‌شده در ۶ شهریور ۱۳۹۰. 
  6. «کیت توسعه‌ی نرم‌افزاری اندروید، متعلق به گوگل، به نفع جاوا، جاوا ام‌ایی را به سمت آپاچی هارمونی دور زد.». infoq.com. بازبینی‌شده در ۶ شهریور ۱۳۹۰. 
  7. «جایگزینی برای پوینت ۲ بعدی». آموزش دروید، ۲۳ بهمن ۱۳۸۸. بازبینی‌شده در ۶ شهریور ۱۳۹۰. 
  8. «نمایه‌ی بسته». اتحادیه گوشی باز. بازبینی‌شده در ۶ شهریور ۱۳۹۰. 
  9. استفانو مازوچی. «دالویک: چگونه گوگل محدودیت‌های موجود بر جاوای‌ام‌ایِ اعمال شده از سوی سان را دور زد.». ۲۱ آبان ۱۳۸۶. بازبینی‌شده در ۶ شهریور ۱۳۹۰. 
  10. Nothing to see here - only dreams of electric sheep
  11. «اوراکل، گوگل را به خاطر استفاده از جاوا در اندروید، تحت پیگرد قرار داد.». digitaltrends.com، ۲۲ مرداد ۱۳۸۹. بازبینی‌شده در ۶ شهریور ۱۳۹۰. 
  12. جیمی نیکولای. «اوراکل گوگل را به خاطر جاوای موجود در آندروید مورد پیگرد قانونی قرار داد.». ۲۱ مرداد ۱۳۸۹. بازبینی‌شده در ۶ شهریور ۱۳۹۰. 
  13. مارک هچمن. «اوراکل از گوگل به خاطر استفاده‌ی اندروید از جاوا شکایت کرد». زیف دیویس، ۲۱ مرداد ۱۳۸۹. 
  14. نیما دادگستر. «ران تایم بعدی اندروید ART نام دارد، دو برابر سریع تر است و گوگل ۲ سال مشغول توسعه آن بوده». نارنجی، ۱۷ آبان ۱۳۹۲. 
  15. "ART را ببنید، بخش ۲: آزمون- کارایش شما را تکان نمی‌دهد اما بهتر می‌شود.". androidpolice.com. 2013-11-12. Retrieved 2014-01-02. "«تصویر کلی از ART امروز رسم شد. به طور حتم باعث تغییراتی خواهد شد ولی طرح فعلی به اندازه‌ٔ کافی بالغ نیست تا یک بازدهی مناسب را بدست دهد.»" 
  16. "گوگل ART (زمان اجرایِ اندروید) را برای «کیت‌کت» معرفی کرد.". androidaio.com. Retrieved 2013-11-08.