هنر به جای روستای دالویک!
ماشین مجازی ART در اندروید
هنر به جای روستای دالویک
تیتر این متن حتما برای شما عجیب است.اما این مقاله به بهانه ورود رسمی ماشین مجازی هنر (ART) به دنیای اندروید نوشته شده؛ چرا که قرار است آرت جایگزین ماشین مجازی فعلی اندروید یعنی دالویک(Dalvik) شود. هر دو این نام ها, نام های مستعار برای ماشین مجازی هستند, اما در لغت همان طور که می دانید, Art به معنی هنر و Dalvik نام یک روستا در ایسلند است.
Dalvik یک ماشین پردازش مجازی در سیستم عامل اندروید است که برنامه های اندروید را روی گوشی اندرویدی اجرا می کند. Dalvik یک بخش جدایی ناپذیر از اندروید محسوب میشود که در این سیستم عامل محبوب, مورد استفاده قرار میگیرد.
برنامه های اندرویدی معمولا به صورت جاوا نوشته میشوند و به بایت کد کامپایل میشوند (بایت کد زبان میانی است که کامپایلر جاوا با آن سر و کار دارد و بایت کد در نهایت به زبان سطح پایین یا همان زبان ماشین تبدیل شده و دستورات در سخت افزار اجرا می شوند.) در واقع کدهایی که به زبان جاوا نوشته شده اند و در فایل هایی با پسوند class. سازگار با ماشین مجازی جاوا قرار گرفته اند, به فایل های dex. سازگار با Dalvik دقیقا قبل از نصب آن برنامه روی گوشی تبدیل می شوند.
در واقع بخشی از فایل های APK اپلیکیشن ها همین کدهای زبان میانی بایت کد با پسوند dex. هستند. فرمت قابل اجرای Dalvik طراحی شده تا برای سیستم هایی که محدودیت پردازش و رم دارند, مناسب باشند.
ناگفته نماندDalvik یک نرم افزار متن باز بوده و توسط Dan Bornstein نوشته شده است. برای توضیح Runtime به زبانی ساده باید گفت ران تایم نرم افزاری است که به عنوان بخشی از سیستم عامل وظیفه اجرا کردن(RUN) اکثر اپلیکیشن ها را بر عهده دارد. بر خلاف Java VM , که ماشین پشته ای (Stack machine) هستند, Dalvik VM یک معماری بر اساس رجیستر (Register-based) دارد. نکته جالب توجه در مورد دالویک و معماری آن این است که فایل های قابل اجرای مبتنی بر Dalvik ممکن است دوباره بعد از نصب روی گوشی اصلاح شوند! برای دستیابی به بهینه سازی بهتر, ممکن است ترتیب بایت ها در بعضی دیتاها جابه جا شودو ساختار داده ها و کتابخانه های توابع به صورت خطی در ارتباط قرار بگیرند و... .
جالب است بدانید گوگل ادعا کرده که دالویک را طی فرایند اتاق تمیز طراحی کرده است. این کار به جای انجام طراحی روی نسخه استاندارد جاوا انجام شد تا گرفتار مسائل حقوقی و مبتنی بر رعایت حق مولف یا کپی رایت نشود. اما شرکت اوراکل که بعد از خریداری شرکت سان میکروسیستمز مالک حقوقی جاوا شده بود, در 21 مرداد 1390, از گوگل به خاطر رعایت نکردن حق مولف و استفاده نادرست از پتنت های جاوا, از این شرکت شکایت کردو بعد از آن چند دادگاه بر اساس همین موضوع پیش آمد.
گوگل به عنوان توسعه دهنده اصلی اندروید, برای افزایش کارآیی سیستم عامل خود دو را پیش رو داشته اند: 1- دالویک را سریعتر کنند؛ 2- یک جایگزین خوب برای آن ارائه کنند. گوگل در این چند سال ترکیبی از هر دو روش استفاده کرده و در نهایت, چند ماه پیش نتیجه فعالیت های راهکار دوم یعنی ART را به طور رسمی معرفی کرد. ران تایم بعدی اندروید که ART مخفف ( Android Run Time) نام دارد, حالا به عنوان یک نرم افزار بتا در اندروید 4.4 کیتکت قرار گرفته و هدف از ساخت آن باز طراحی روش تفسیر کدهای هر اپلیکیشن اندرویدی حین اجرا است. به عنوان توضیحات بیشتر, نرم افزار بتا نرم افزاری است که به مرحله نهایی خود رسیده و از نظر تیم توسعه آن, قابل ارائه است, اما در اختیار کاربران خاص قرار میگیرد تا باگ ها یا مشکلات نهایی آن شناخته و رفع شوند. ران تایم آرت در اندروید کیتکت با رفتن به settings و بخش Developer Option قابل فعال سازی است. آرت به روشی کاملا متفاوت از دالویک اپلیکیشن ها را اجرا میکند.
طبق اظهارات گوگل, توسعه دهندگان باید در حال حاضر دالویک و آرت را در کنار هم استفاده کرده و دالویک را به عنوان ران تایم پیش فرض به کار گیرند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.