نظرة عامة على Kernel

تستند نواة Android إلى نواة Linux Long Term Supported (LTS). في Google، يتم دمج أنظمة التشغيل التي تتضمّن ميزات الدعم طويل الأمد مع الرموز البرمجية الخاصة بنظام التشغيل Android لإنشاء ما يُعرف باسم أنظمة التشغيل الأساسية الشائعة لنظام التشغيل Android (ACKs).

يُعرف الإصدارات الأحدث من ACK (الإصدار 5.4 والإصدارات الأحدث) أيضًا باسم نواة GKI. تتيح نوى GKI إمكانية فصل رمز النواة الأساسية العامة غير المتوافقة مع الأجهزة ووحدات GKI عن وحدات المورّدين الخاصة بالأجهزة.

يتفاعل نواة GKI مع وحدات المورّدين الخاصة بالأجهزة والتي تحتوي على المنظومة على الرقاقة (SoC) والرمز الخاص باللوحة. يتم تفعيل التفاعل بين نواة GKI ووحدات المورّدين من خلال واجهة وحدة النواة (KMI) التي تتألف من قوائم الرموز التي تحدِّد الوظائف والبيانات الشاملة التي تتطلّبها وحدات المورّدين. يوضِّح الشكل 1 بنية نواة GKI ووحدة المورّد:

بنية GKI
الشكل 1. بنية GKI

مسرد مصطلحات النواة

يحتوي هذا القسم على المصطلحات المستخدَمة في مستندات kernel.

أنواع النواة

النواة المشتركة لنظام التشغيل Android (ACK)
النواة التي تم إصدارها بعد نواة LTS وتتضمن تصحيحات تهمّ منتدى Android ولم يتم دمجها في الإصدار الرئيسي من Linux أو نواة LTS تُعرف الإصدارات الأحدث من ACK (الإصدار 5.4 والإصدارات الأحدث) أيضًا باسم نوى GKI، لأنّها توفّر إمكانية فصل رمز "النواة العامة" غير المرتبط بالأجهزة ووحدات GKI غير المرتبطة بالأجهزة.
نواة "مشروع Android المفتوح المصدر" (AOSP)
راجِع النواة الشائعة لنظام التشغيل Android.
نواة الميزة
النواة التي يُضمن تنفيذ ميزات إصدار النظام الأساسي عليها على سبيل المثال، في Android 12، كانت نواةَا الميزات هما android12-5.4 وandroid12-5.10. لا يمكن نقل ميزات Android 12 إلى نواة 4.19، وستكون مجموعة الميزات مشابهة للجهاز الذي تم طرحه مع نواة 4.19 على Android 11 وتم ترقيته إلى Android 12.
نواة أساسية عامة
جزء نواة GKI الشائع على جميع الأجهزة
النواة Generic Kernel Image (GKI)
أي إصدار أحدث من النواة ACK (الإصدار 5.4 والإصدارات الأحدث) (aarch64 فقط حاليًا) يتألّف هذا النواة من جزأين: نواة GKI الأساسية التي تتضمّن رمزًا شائعًا على جميع الأجهزة ووحدات GKI التي طوّرتها Google والتي يمكن تحميلها ديناميكيًا على الأجهزة حيثما ينطبق ذلك.
نواة واجهة وحدة النواة (KMI)
اطّلِع على نواة GKI.
Launch Kernel
النواة الصالحة لتشغيل جهاز لإصدار معيّن من نظام التشغيل Android على سبيل المثال، في Android 12، كانت نواة التشغيل الصالحة هي 4.19 و5.4 و5.10.
النواة التي تتلقّى الدعم على المدى الطويل (LTS)
يجب أن يكون نظام التشغيل Linux متوافقًا لمدة تتراوح بين عامين و6 أعوام. يتم إصدار نوى الإصدارات الطويلة المدى (LTS) مرة واحدة في السنة، وهي الأساس لكل من الإصدارات التلقائية (ACK) من Google.

أنواع الفروع

فرع نواة KMI المتوافق مع ACK
الفرع الذي يتم إنشاء نواة GKI له على سبيل المثال، android12-5.10 وandroid13-5.15.
Android-mainline
فرع التطوير الأساسي لميزات Android. عند الإعلان عن قشرة LTSجديدة في الإصدار العلني، يتم إنشاء قشرة GKIجديدة مقابلة لها من android-mainline.
الإصدار الرئيسي من نظام التشغيل Linux
فرع التطوير الأساسي لأنظمة تشغيل Linux الأساسية، بما في ذلك نوى LTS

مصطلحات أخرى

صورة تشغيل معتمَدة
تم إرسال النواة في تنسيق ثنائي (boot.img) وتم تركيبها على الجهاز. هذه الصورة معتمَدة، أي أنّها تحتوي على شهادات مضمّنة تتيح لشركة Google التحقّق من أنّ الجهاز مزوّد بنواة معتمَدة من Google.
وحدة kernel القابلة للتحميل ديناميكيًا (DLKM)
وحدة يمكن تحميلها ديناميكيًا أثناء تشغيل الجهاز استنادًا إلى احتياجات الجهاز إنّ وحدات GKI ووحدات المورّدين هما نوعان من وحدات إدارة الخدمات المحدودة (DLKM). يتم إصدار برامج تشغيل الأجهزة الديناميكية بتنسيق .ko ويمكن أن تكون برامج تشغيل أو يمكنها توفير وظائف أخرى للنواة.
مشروع GKI
مشروع من Google يعالج تجزئة النواة من خلال فصل وظائف kernel الأساسية المشترَكة عن وظائف دعم اللوحة والشريحة المعالجة المركزية الخاصة بالمورّد إلى وحدات قابلة للتحميل
صورة النواة العامة (GKI)
صورة تمهيد معتمَدة من Google تحتوي على نواة GKI تم إنشاؤها من شجرة مصدر ACK وهي مناسبة لفلاشها على قسم التمهيد في جهاز Android
KMI
واجهة بين النواة GKI ووحدات المورّدين التي تتيح تعديل وحدات المورّدين بشكل مستقل عن نواة GKI تتألف هذه الواجهة من دوال kernel والبيانات الشاملة التي تم تحديدها على أنّها تبعيات للمورّد/مصنّع المعدّات الأصلية باستخدام قوائم الرموز لكل شريك.
وحدات GKI
وحدات kernel التي أنشأتها Google والتي يمكن تحميلها ديناميكيًا على الأجهزة حيثما ينطبق ذلك يتم إنشاء هذه الوحدات كعناصر لنواة GKI ويتم تسليمها إلى جانب GKI كأرشيف system_dlkm_staging_archive.tar.gz. تُوقِّع Google وحدات GKI باستخدام مفتاحَي التشفير اللذَين تم إنشاؤهما في وقت إنشاء نظام التشغيل، ولا تتوافق هذه الوحدات إلا مع ‎GKI kernel الذي تم إنشاؤها به.
وحدة المورّد
وحدة خاصة بالأجهزة يطوّرها شريك وتتضمّن وظائف تتعلّق بالمنظومة على الرقاقة والجهاز وحدة المورّد هي نوع من وحدات النواة القابلة للتحميل ديناميكيًا.

ما هي الخطوات التالية؟