ببخشید جوابم بیربطه ولی دیدم یه سری اطلاعات غلط داره رد و بدل میشه گفتم شفاف سازی کنم ، من عاشق شفاف سازیم
mehdi@ :
اگر منظورتون از هنگروید kitkat هستش، بله حرفتون رو قبول دارم ولی در مورد lolipop اصلا این حرفتون درست نیست ، اگر با لالیپاپ کار میکردید اصلا این حرفو نمیزدید
گوگل توی نسخه لالیپاپ با استفاده از رانتایم ART که از روش کامپایل (AOT (ahead-of-time به جای dalvik که از روش کامپایل (JIT(just in time استفاده میکرد، تونست این مشکل رو برطرف کنه و باعث برطرف کردن هنگ و لگ شد البته به بهای زمان بیشتر بوت شدن سیستمعامل که به نظرمن زیاد اهمیتی نداره
در ضمن مشکل استفاده بیش از حد رم هم توی لالیپاپ رو گوگل تونسته به خوبی برطرف کنه
عنوان
نمیشه گفت که الان لالیپاپ بهینهترین سیستمعامله ولی اختلافش رو با سایر سیستمعاملها خیلی کم کرده
Abolfazl@ :
ابوالفضل جان من اول از هر چی سال نو رو بهتون تبریک میگم ، ببخشید دیر شد ولی الان دیگه گفتم تبریک بگم تا دیرتر نشده
یه گوشی هم هست لینوکسه که اشغاله
راستش خیلی تعجب کردم از این حرفتون
قبل اینکه بریم سراصل مطلب بزارید یه توضیحی راجع به ماشین مجازی جاوا بدم ،
البته این توضیحات رو خودتون بهتر میدونید ولی اینارو برای این میخوام بگم که شما هر جا که دیدید اشتباه میکنم صحبتای منو نقد کنید:
فلسفه وجودی زبان java این بود که در زمان اجرا تفسیر و اجرا بشه تا بتونه روی هر سیستمی اجرا بشه، که خوب این سربارزیادی رو به سیستم تحمیل میکنه
ماشین مجازی جاوا تو سطوح مختلف قابل پیادهسازیه مثلا :
۱- درسطح مرورگر : مثل کروم و ...
۲- در سطح سیستمعامل : مثل اندروید که روی هسته لینوکس پیادهسازی شده
۳- درسطح تراشه(CPU) : مثل گوشی سونی اریکسون K750 (خدا بیامرزتش
)
این مقدمات رو گفتم تا به اینجا برسم
اصل قضیه:
این که گوگل اومده ماشین مجازی جاوا رو روی لینوکس پیادهسازی کرده ، نمیتونه دلیل بر بهتربودن یا بدتر بودن هسته لینوکس باشه، اصلا اندروید و لینوکس هیچ ارتباطی با هم ندارن
بزارید یه مثالی بزنم تا قضیه روشنتر بشه: فرض کنیم من و شما یه شرکت زدیم، بعد میایم روی هسته ویندوزNT (به فرض اینکه مایکروسافت اجازه استفاده از هستش رو به من و شما بده) ماشین مجازی رو پیادهسازی میکنیم و یه سری از API های جاوا رو هم دستکاری کردیم (مثل همون Dalvik که گوگل استفاده کرد) تحویل توسعه دهندهها دادیم
حالا سوال من از شما اینه اگر سیستم عاملی که من و شما درست کردیم به فرض هنگ و لگ داشته باشه ، دلیل بر خوب یا بد بودن هسته NT داره؟!!
این نکته رو هم اضافه کنم که لینوکس از (KVM (Kernel-based Virtual Machine پشتیبانی میکنه ، قابلیتی که هسته NT نداره ، حالا قصدم این نیست که بگم چون NT آین قابلیت رو نداره دلیل بر بدتر بودن یا بهتربودنش هست ، صحبتم اینه که اگر اندروید میخواست روی هستهای که این قابلیت رو نداره پیادهسازی میشد وضعیتش به مراتب بدتر میشد
در نتیجه اندروید جایگاهی که الان داره رو مدیون لینوکس هستش و اینکه بگیم لینوکس اشغاله یه ذره بیانصافیه
ولی درکل از اونجایی که معماری و طراحی سیستمعامل جز پیچیدهترین علوم کامپیوتره من سعی میکنم هیچوقت انتقادی از هیچکدوم از توسعه دهندگان سیستمعامل نکنم و به همشون احترام بزارم، چون خودم رو در جایگاهی نمیبینم که بخوام بگم فلان سیستم عامل اشغاله یا فلان سیستم عالیه
موفق باشید