نمای کلی هسته

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.

هسته اندروید مبتنی بر یک هسته بالادست لینوکس با پشتیبانی طولانی مدت (LTS) است . در Google، هسته‌های LTS با وصله‌های مخصوص اندروید ترکیب می‌شوند تا هسته‌های مشترک اندروید (ACK) را تشکیل دهند.

ACK های جدیدتر (نسخه 5.4 و بالاتر) به عنوان هسته های GKI نیز شناخته می شوند زیرا از جداسازی کدهای هسته اصلی هسته ژنریک سخت افزاری و ماژول های GKI آگنوستیک سخت افزاری پشتیبانی می کنند. هسته GKI با ماژول‌های فروشنده مخصوص سخت‌افزار که حاوی سیستم روی یک تراشه (SoC) و کد مخصوص برد هستند، تعامل دارد. تعامل بین هسته GKI و ماژول های فروشنده توسط رابط ماژول هسته (KMI) فعال می شود که از لیست های نمادی تشکیل شده است که عملکردها و داده های جهانی مورد نیاز ماژول های فروشنده را شناسایی می کند. شکل 1 ساختار هسته GKI و ماژول فروشنده را نشان می دهد: هسته GKI و معماری ماژول فروشنده

شکل 1. معماری هسته GKI و ماژول فروشنده

واژه نامه هسته

این بخش شامل عباراتی است که در اسناد هسته استفاده می شود.

انواع هسته

هسته مشترک اندروید (ACK)
هسته ای که در پایین دست یک هسته LTS است و شامل وصله های مورد علاقه جامعه اندروید است که در هسته های اصلی لینوکس یا با پشتیبانی طولانی مدت (LTS) ادغام نشده اند. ACK های جدیدتر (نسخه 5.4 و بالاتر) به عنوان هسته های GKI نیز شناخته می شوند زیرا از جداسازی کدهای عمومی آگنوستیک سخت افزاری و ماژول های GKI آگنوستیک سخت افزاری پشتیبانی می کنند.
هسته پروژه منبع باز اندروید (AOSP).
Android Common Kernel را ببینید.
ویژگی هسته
هسته ای که ویژگی های انتشار پلتفرم برای آن تضمین شده است که پیاده سازی شود. به عنوان مثال، در اندروید 12، دو هسته ویژگی android12-5.4 و android12-5.10 بودند. ویژگی‌های اندروید 12 را نمی‌توان به هسته‌های 4.19 پشتیبان‌گیری کرد. مجموعه ویژگی ها مشابه دستگاهی است که با 4.19 در R راه اندازی شده و به S ارتقا یافته است.
هسته هسته عمومی
بخشی از هسته GKI که در همه دستگاه ها مشترک است.
هسته تصویر هسته عمومی (GKI).
هر هسته ACK جدیدتر (5.4 و بالاتر) (در حال حاضر فقط aarch64). این هسته دارای دو بخش است: هسته اصلی GKI با کد مشترک در همه دستگاه‌ها و ماژول‌های هسته GKI که توسط Google توسعه یافته‌اند که می‌توانند به صورت پویا در دستگاه‌ها در صورت لزوم بارگذاری شوند.
هسته رابط ماژول هسته (KMI).
هسته GKI را ببینید.
Kernel را راه اندازی کنید
هسته‌ای که برای راه‌اندازی یک دستگاه برای نسخه‌ای از پلتفرم اندرویدی معتبر است. به عنوان مثال، در اندروید 12، هسته های راه اندازی معتبر 4.19، 5.4 و 5.10 بودند.
هسته با پشتیبانی طولانی مدت (LTS).
یک هسته لینوکس که برای 2 تا 6 سال پشتیبانی می شود. هسته های LTS یک بار در سال منتشر می شوند و اساس هر یک از ACK های Google هستند.

انواع شاخه

شاخه هسته ACK KMI
شاخه ای که هسته های GKI برای آن ساخته می شوند. به عنوان مثال، android12-5.10 و android13-5.15.
Android-Mainline
شاخه توسعه اولیه برای ویژگی های اندروید. هنگامی که یک هسته LTS جدید در بالادست اعلام می شود، هسته جدید GKI مربوطه از android-mainline منشعب می شود.
خط اصلی لینوکس
شاخه توسعه اولیه برای هسته های بالادستی لینوکس، از جمله هسته های LTS.

سایر اصطلاحات

تصویر بوت تایید شده
هسته به شکل باینری ( boot.img ) تحویل داده شد و بر روی دستگاه فلش شد. این تصویر به این معنا تأیید شده است که حاوی گواهی‌های تعبیه‌شده است، بنابراین Google می‌تواند تأیید کند که دستگاه با یک هسته تأیید شده توسط Google ارسال می‌شود.
ماژول هسته قابل بارگذاری پویا (DLKM)
ماژولی که می تواند به صورت پویا در هنگام بوت شدن دستگاه بسته به نیاز دستگاه بارگذاری شود. ماژول‌های GKI و فروشنده هر دو نوع DLKM هستند. DLKM ها به شکل .ko منتشر می شوند و می توانند درایور باشند یا سایر عملکردهای هسته را ارائه دهند.
پروژه GKI
یک پروژه Google که با جداسازی عملکرد هسته هسته مشترک از SoC و پشتیبانی برد مخصوص فروشنده به ماژول های قابل بارگذاری، به تجزیه هسته پرداخته است.
تصویر هسته عمومی (GKI)
یک تصویر بوت تایید شده توسط Google که حاوی یک هسته GKI است که از درخت منبع ACK ساخته شده است و برای فلش شدن در پارتیشن بوت دستگاه اندرویدی مناسب است.
KMI
یک رابط بین هسته GKI و ماژول های فروشنده که به ماژول های فروشنده اجازه می دهد مستقل از هسته GKI به روز شوند. این رابط شامل توابع هسته و داده های جهانی است که با استفاده از لیست نمادهای هر شریک به عنوان وابستگی های فروشنده/OEM شناسایی شده اند.
ماژول هسته GKI
ماژول‌های قابل بارگیری پویا که توسط Google ساخته شده است و در صورت لزوم می‌توانند به صورت پویا در دستگاه‌ها بارگیری شوند. این ماژول ها با هسته GKI ساخته شده اند و در کنار GKI به عنوان تصویر system_dlkm تحویل داده می شوند. ماژول‌های هسته GKI توسط Google با استفاده از جفت کلید زمان ساخت هسته امضا می‌شوند و فقط با هسته هسته عمومی که با آن ساخته شده‌اند سازگار هستند. ماژول های هسته GKI نوعی از DLKM
.
ماژول فروشنده
یک ماژول مخصوص سخت افزار که توسط یک شریک توسعه یافته است و حاوی SoC و عملکردهای خاص دستگاه است. ماژول فروشنده نوعی ماژول هسته قابل بارگذاری پویا است.

بعدش چی؟