در طی کنفرانس Linux Linux 2019 (جلسه سالانه توسعه دهندگان برتر لینوکس) ، گوگل در مورد توسعه ابتکاری برای تغییرات ایجاد شده در هسته اصلی لینوکس نسخه هسته برای سیستم عامل آندروید.
هدف نهایی این است که به Android اجازه استفاده از نسخه اصلی هسته لینوکس را بدهیم، به جای اینکه مجبور شوید نسخه های سفارشی جداگانه ای را برای هر دستگاه بر اساس شاخه مشترک هسته هسته Android ویژه Android تنظیم کنید. این هدف قبلاً تا حدی محقق شده است و در این کنفرانس تلفن هوشمند اندرویدی "Xiaomi Poco F1" با سیستم عامل مبتنی بر هسته معمول لینوکس اصلاح نشده نشان داده شد.
پس از آماده شدن پروژه ، از تأمین کنندگان خواسته می شود هسته مرکزی را تأمین کنند بر اساس هسته اصلی لینوکس. قطعات پشتیبانی سخت افزار عرضه خواهد شد فقط توسط ارائه دهندگان به صورت ماژول های هسته اضافی، بدون وصله هسته.
در ماژول ها ، سازگاری با هسته اصلی باید در سطح نام نماد هسته اطمینان حاصل شود. تمام تغییراتی که هسته اصلی را تحت تأثیر قرار می دهند به سمت بالا ارتقا می یابند.
بعلاوه برای حفظ سازگاری با ماژول های اختصاصی در چارچوب شعب LTS ، هدف آن حفظ یک هسته ثابت API و ABI است، که به شما امکان می دهد سازگاری ماژول ها را با به روزرسانی ها برای هر شاخه مشترک هسته حفظ کنید.
در طول سال، ویژگی هایی مانند زیر سیستم PSI (اطلاعات قفل فشار) برای تجزیه و تحلیل اطلاعات مربوط به مهلت زمانی منابع مختلف (CPU ، حافظه ، دستگاه های ورودی و خروجی)، سیستم پرونده شبه BinderFS برای مکانیسم ارتباط بین فرآیند ، از هسته Android به هسته اصلی Linux منتقل شدند، و همچنین برنامه ریز کار EAS (برنامه ریزی آگاهی از انرژی).
دانستن آن مهم است تاکنون هسته Android چندین مرحله آماده سازی را پشت سر گذاشته است زیرا در حال حاضر سه شاخه اصلی بین هسته اصلی لینوکس و یک دستگاه اندرویدی حمل و نقل وجود دارد.
- ابتدا گوگل هسته Linux LTS را گرفته و آن را به "هسته مشترک Android" تبدیل می کند که در آن هسته Linux تمام وصله های خاص سیستم عامل Android کاربردی را دریافت می کند.
- Android Common به فروشنده SoC (معمولاً کوالکام) ارسال می شود و در آنجا اولین دور از سخت افزارهای خاص خود را می گیرد و ابتدا یک مدل خاص SoC را هدف قرار می دهد.
- سپس این "SoC Kernel" برای تهیه کد اختصاصی سخت افزار بیشتر که از هر سخت افزار دیگری مانند نمایشگر ، دوربین ، بلندگوها ، درگاه های USB و هرگونه سخت افزار اضافی پشتیبانی می کند ، به سازنده دستگاه ارسال می شود.
بر اساس هسته های اصلی LTS (3.18 ، 4.4 ، 4.9 و 4.14) ، شاخه "Android Common Kernel" ایجاد شد که در آن وصله های مخصوص Android منتقل شدند (قبلا اندازه تغییرات به چندین میلیون خط می رسید ، اما اخیراً تغییرات به چندین هزار خط کاهش یافته است) کد)
علاوه بر این برای هر دستگاه هسته خاص آن تشکیل شده است، که نمی تواند در دستگاه های دیگر استفاده شود.
چنین طرحی تحویل به روزرسانی ها را با حذف آسیب پذیری ها و انتقال به شاخه های جدید هسته به طور قابل توجهی پیچیده می کند. به عنوان مثال ، جدیدترین تلفن هوشمند Pixel 4 که در ماه اکتبر منتشر شد ، با هسته لینوکس 4.14 همراه است که دو سال پیش منتشر شد.
تا حدی ، گوگل سعی کرد با ارتقا سیستم Treble تعمیر و نگهداری را ساده کند، که به تولیدکنندگان اجازه می دهد اجزای پشتیبانی سخت افزاری جهانی را ایجاد کنند که به نسخه های خاص Android و نسخه های هسته لینوکس استفاده نشده باشد. Treble به شما امکان می دهد از به روزرسانی های آماده Google به عنوان مبنا استفاده کنید ، و اجزای مخصوص دستگاه را در آنها ادغام کنید.
در حالی که هنوز کارهایی برای ادغام بیشتر اکوسیستم آندروید در هسته و همچنین کارهای زیادی در قسمت تنظیمات دستگاه برای مدلهای خاص انجام شده است ، اما گوگل می گوید که همه چیز درست پیش می رود.
اولین کسی باشید که نظر