From Wikipedia, the free encyclopedia
دالویک پردازشگر ماشین مجازی است که در محصول معروف گوگل، سیستمعامل اندروید مورد استفاده قرار میگرفت (از اندروید ۵ به بعد ART جایگزین دالویک شد). دالویک بخش داخلی اندروید است که به صورت معمول در دستگاههای همراه مانند تلفن همراه، تبلتها (رایانههای لوحی) و نت بوکها مورد استفاده قرار میگیرد. برنامههای اندروید به فرمت قابل اجرای dex. تبدیل میشود. این روش برای سیستمهایی مناسب است که از نظر فضای حافظه رم و سرعت پردازنده مرکزی دچار محدودیت هستند.
نویسنده(های) اصلی | دن بورنستین |
---|---|
مخزن | |
سیستمعامل | هسته لینوکس |
پلتفرم | اندروید |
مجوز | اجازهنامه آپاچی ۲ |
وبگاه |
دالویک، مانند باقی سامانهٔ اندروید تا نگارش ۲٫۳[1] متن باز است. این برنامه توسط دان بورنستین نوشتهشد، که به خاطر ماهیگری در روستایی در ایسلند به همین نام و به یاد این روستا که زمانی اعقابش در این روستا بودهاند؛ به نام دالویک نامگذاری نمود.[2][3]
برخلاف ماشینهای مجازی جاوا، که ماشینهای پشتهایی هستند، دالویک ماشینی مبتنی بر معماری رجیستری است. البته دربارهٔ برتری ماشینهای مبتنی بر رجیستری نسبت به ماشنی پشتهایی مسئلهای در حال بحث است.[4] عموم ماشینهای مجازی پشتهایی باید از دستورات برای بارگذاری دادههای در پشته و اعمال تغییرات بر روی آنها استفاده نماید؛ بنابراین نسبت به ماشینهای مبتنی بر رجیستر به دستورات بیشتری برای کد سطح بالا نیاز دارد؛ ولی دستورات در ماشین رجیستری باید به صورت مبدأ و مقصد باشد که منجر به بزرگ شدن دستورات خواهد شد. این تفاوت پایهایی در ترجمه در زمان بسیار مهماست و تعیینکننده.
ابزاری که با نام dx، برای تبدیل بخشی از کد جاوا (نه تمام آن) که به صورت .class است به گونهٔ dex. به کار میرود. چندین فایل کلاس میتواند به درون یک فایل dex. قرار گیرد. رشتههایی که چندین بار در کلاسهای استفادهشدناند تنها یکبار در dex. خروجی ظاهر میشود. بایت کد جاوا به شکلی از محموعه دستورات جایگزین که توسط ماشین مجازی دالویک قابل قبول است، تبدیل میشود. یک فایل غیر فشردهٔ dex. معمولاً چند درصد کوچکتر از فایل jar. معادل است.[5]
دالویک نه کاملاً منطبق با J2ME است و نه منطبق بر J2SE[6][7] برای مثال کلاسهای جاواامایی از قبیل awt یا swing مورد پشتیبانی قرار نمیگیرد در عوض از کلاسهای کتابخانهٔ مخصوص به خودش استفاده مینماید[8] که مبتنی بر پیادهسازی آپاچی هارمونی از جاواست.
گوگل ادعا نمود که دالویک را طی فرایند اتاق تمیز طراحی نمودهاست. این کار به جای انجام طراحی بر روی نسخهٔ استاندارد جاوا انجامشد تا گرفتار مسائل حقوقی و مبتنی بر رعایت حق مؤلف نگردد[9]. دالویک تحت اجازهنامه آپاچی ۲٫۰ منتشر شد.[10]
اوراکل که بعد از خریداری شرکت سان میکروسیستمز مالک حقوق جاوا شده بود، در تاریخ ۲۱ مرداد ۱۳۹۰، از گوگل به خاطر عدم رعایت حق مؤلف و عدم رعایت استفادهٔ درست از پتنتهای جاوا، از این شرکت شکایت نمود.[11][12][13].
Art (به انگلیسی: Android RunTime) جایگزین دالویک شوده است (اندروید ۴٫۴ آزمایشی و ۵ بهطور کامل جایگزین شدهاست). گوگل در اندروید ۴٫۴ Art را در کنار دالویک قرار داد و کاربران میتوانند با مراجعه به تنظیمات آن را فعال کنند. از مزایای Art نسبت به دالویک میتوان اجرای تند تر برنامهها و عمر بیشتر باتری را نام برد. تنها ایراد این روش بالا رفتن فضای مورد نیاز برای ذخیره برنامهها و زمان بیشتر برای کامپایل برنامه هاست.[14] این ماشین مجازی از روش «پسکامپایل» (به انگلیسی: Ahead-of-Time(AOT)) بهره میبرد که برنامه را قادر میساز تا ترجمهٔ بایتکد را تا زمان نصب برنامه در سیستم به تأخیر اندازد. در حال حاضر این ماشین مجازی برتری محسوسی را به وجود نیاورده است و حتی در مواردی کندتر است اما این موضوع به شدت به نوع «آزمون» بستگی دارد. همچنین افزایش زمان نصب و افزایش ۱۰٪ تا ۲۰٪ حجم فایل نصب شاتول برگزیز سایر ویژگیهای نامطلوب آن است.[15][16] در گوگل I/O ۲۰۱۴ اعلام شد که از نسخهٔ بعدی اندروید این ماشین مجازی جایگزین دالویک خواهد شد و ماشین زمانِ اجرای پیشفرض اندروید خواهد شد.
|date=
را بررسی کنید (کمک)Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.