ستنتقل Google إلى تطوير ابتكارات لنظام Android في نواة Linux الرئيسية

تحدثت شركة جوجل في مؤتمر Linux Plumbers 2021 عن نجاح مبادرتها في تحويل منصة أندرويد لاستخدام نواة لينكس العادية بدلاً من استخدام نسختها الخاصة من النواة والتي تتضمن تغييرات خاصة بمنصة أندرويد.

كان التغيير الأكثر أهمية في التطوير هو قرار التحول بعد عام 2023 إلى نموذج "Upstream First"، والذي يعني تطوير جميع ميزات kernel الجديدة المطلوبة في منصة Android مباشرة في نواة Linux الرئيسية، وليس في فروعها المنفصلة الخاصة بها ( سيتم أولاً ترقية الوظيفة إلى الوظيفة الرئيسية).kernel، ثم استخدامها في Android، وليس العكس). ومن المخطط أيضًا نقل جميع التصحيحات الإضافية المتبقية في فرع Android Common Kernel إلى النواة الرئيسية في عامي 2023 و2024.

أما بالنسبة للمستقبل القريب، فبالنسبة لمنصة Android 12 المتوقعة في أوائل شهر أكتوبر، سيتم تقديم مجموعات نواة "Generic Kernel Image" (GKI)، الأقرب قدر الإمكان إلى نواة 5.10 العادية. بالنسبة لهذه الإصدارات، سيتم توفير إصدارات منتظمة من التحديثات، والتي سيتم نشرها في مستودع ci.android.com. في نواة GKI، يتم وضع الإضافات الخاصة بمنصة Android، بالإضافة إلى المعالجات المتعلقة بدعم الأجهزة من مصنعي المعدات الأصلية، في وحدات kernel منفصلة. هذه الوحدات غير مرتبطة بإصدار النواة الرئيسية ويمكن تطويرها بشكل منفصل، مما يبسط إلى حد كبير صيانة الأجهزة وانتقالها إلى فروع النواة الجديدة.

ستنتقل Google إلى تطوير ابتكارات لنظام Android في نواة Linux الرئيسية

يتم تنفيذ الواجهات المطلوبة من قبل الشركات المصنعة للأجهزة على شكل خطافات، مما يسمح لك بتغيير سلوك النواة دون إجراء تغييرات على التعليمات البرمجية. في المجمل، توفر نواة android12-5.10 194 خطافًا عاديًا، تشبه نقاط التتبع، و107 خطافًا متخصصًا تسمح لك بتشغيل المعالجات في سياق غير ذري. في نواة GKI، يُحظر على مصنعي الأجهزة تطبيق تصحيحات محددة على النواة الرئيسية، ويجب توفير مكونات دعم الأجهزة من قبل البائعين فقط في شكل وحدات نواة إضافية، والتي يجب أن تضمن التوافق مع النواة الرئيسية.

أذكر أن منصة Android تعمل على تطوير فرع kernel الخاص بها - Android Common Kernel، والذي على أساسه يتم تشكيل مجموعات محددة منفصلة لكل جهاز. يمنح كل فرع من فروع Android الشركات المصنعة عدة خيارات لتخطيط kernel لأجهزتهم. على سبيل المثال، يقدم Android 11 خيارًا من بين ثلاث أنوية أساسية – 4.14 و4.19 و5.4، وسيقدم Android 12 النوى الأساسية 4.19 و5.4 و5.10. تم تصميم الخيار 5.10 كصورة Kernel عامة، حيث يتم نقل الإمكانات اللازمة لمصنعي المعدات الأصلية إلى المنبع أو وضعها في وحدات أو نقلها إلى Android Common Kernel.

قبل ظهور GKI، مرت نواة Android بعدة مراحل من الإعداد:

  • استنادًا إلى نواة LTS الرئيسية (3.18، 4.4، 4.9، 4.14، 4.19، 5.4)، تم إنشاء فرع لـ "Android Common Kernel"، حيث تم نقل التصحيحات الخاصة بنظام Android (في السابق، وصل حجم التغييرات إلى عدة ملايين من الأسطر ).
  • استنادًا إلى "Android Common Kernel"، قام صانعو الرقائق مثل Qualcomm وSamsung وMediaTek بتشكيل "SoC Kernel" الذي يتضمن وظائف إضافية لدعم الأجهزة.
  • استنادًا إلى SoC Kernel، أنشأت الشركات المصنعة للأجهزة نواة الجهاز، والتي تضمنت التغييرات المتعلقة بدعم المعدات الإضافية والشاشات والكاميرات وأنظمة الصوت وما إلى ذلك.

أدى هذا النهج إلى تعقيد تنفيذ التحديثات بشكل كبير لإزالة نقاط الضعف والانتقال إلى فروع kernel الجديدة. على الرغم من أن Google تصدر بانتظام تحديثات لنواة Android (Android Common Kernel)، إلا أن البائعين غالبًا ما يكونون بطيئين في تسليم هذه التحديثات أو يستخدمون بشكل عام نفس النواة طوال دورة حياة الجهاز بالكامل.



المصدر: opennet.ru

إضافة تعليق