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

يعتمد نواة Android على نواة Linux طويلة الأمد المدعومة (LTS) . في Google، يتم دمج نواة LTS مع التصحيحات الخاصة بنظام Android لتشكيل ما يُعرف باسم Android Common Kernels (ACKs) .

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

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

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

معجم النواة

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

أنواع النواة

نواة أندرويد المشتركة (ACK)
نواة تابعة لنواة LTS وتتضمن تصحيحات تهم مجتمع Android والتي لم يتم دمجها في Linux الرئيسي أو نواة مدعومة على المدى الطويل (LTS). تُعرف ACKs الأحدث (الإصدار 5.4 وما فوق) أيضًا باسم نواة GKI لأنها تدعم الفصل بين كود Kernel العام غير المتوافق مع الأجهزة ووحدات GKI غير الملائمة للأجهزة.
نواة مشروع أندرويد مفتوح المصدر (AOSP).
راجع نواة Android المشتركة.
ميزة النواة
نواة يتم ضمان تنفيذ ميزات إصدار النظام الأساسي لها. على سبيل المثال، في Android 12، كانت نواة الميزات هي android12-5.4 وandroid12-5.10. لا يمكن نقل ميزات Android 12 إلى الإصدار 4.19؛ ستكون مجموعة الميزات مشابهة للجهاز الذي تم إطلاقه بالإصدار 4.19 على R وتم ترقيته إلى S).
النواة الأساسية العامة
جزء نواة GKI المشترك عبر جميع الأجهزة.
نواة صورة النواة العامة (GKI).
أي نواة ACK أحدث (5.4 وما فوق) (حاليًا Aarch64 فقط). تتكون هذه النواة من جزأين: نواة GKI الأساسية مع رمز مشترك عبر جميع الأجهزة ووحدات GKI التي طورتها Google والتي يمكن تحميلها ديناميكيًا على الأجهزة حيثما أمكن ذلك.
نواة واجهة وحدة النواة (KMI).
انظر نواة GKI .
إطلاق النواة
نواة صالحة لتشغيل جهاز لإصدار معين من نظام التشغيل Android. على سبيل المثال، في Android 12، كانت نواة الإطلاق الصالحة هي 4.19 و5.4 و5.10.
نواة مدعومة على المدى الطويل (LTS).
نواة Linux مدعومة لمدة تتراوح بين 2 إلى 6 سنوات. يتم إصدار نواة LTS مرة واحدة سنويًا وهي الأساس لكل من ACKs الخاصة بـ Google.

أنواع الفروع

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

شروط اخرى

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

ماذا بعد؟