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

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

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

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

هندسة GKI
الشكل 1. بنية GKI

مسرد Kernel

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

أنواع النواة

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

أنواع الفروع

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

شروط اخرى

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

ماذا بعد؟

و

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

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

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

هندسة GKI
الشكل 1. بنية GKI

مسرد Kernel

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

أنواع النواة

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

أنواع الفروع

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

شروط اخرى

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

ماذا بعد؟