وميض نواة جهاز Android. تفليش نواة جهاز Android إصدار Kernel 3 10 49

01.01.2021

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

نواة مخصصة؟

ما هي النواة المخصصة؟ كما نعلم جميعًا، فإن Android عبارة عن فطيرة تتكون من ثلاث طبقات أساسية: نواة Linux، ومجموعة من المكتبات والخدمات منخفضة المستوى، و الآلة الافتراضية Dalvik، الذي يعمل فوقه غلاف رسومي وأدوات وخدمات عالية المستوى، بالإضافة إلى جميع التطبيقات المثبتة من السوق تقريبًا. عادةً ما يعمل منشئو معظم البرامج الثابتة المخصصة البديلة فقط مع الطبقتين العلويتين، ويضيفون وظائف إلى الغلاف الرسومي (على سبيل المثال، الأزرار الموجودة في الستارة)، ويغيرونها (محرك السمات في CyanogenMod)، بالإضافة إلى إضافة خدمات نظام جديدة (المعادل في CyanogenMod) وتحسين العناصر الموجودة.

يقوم مؤلفو البرامج الثابتة الشائعة أيضًا بإجراء تغييرات على Linux kernel كلما أمكن ذلك: فهم يقومون بالتحسين (البناء باستخدام علامات تحسين أكثر قوة للمترجم)، ويتضمنون وظائف جديدة (على سبيل المثال، دعم Windows ball)، ويقومون أيضًا بإجراء تغييرات أخرى، مثل القدرة على لرفع تردد المعالج فوق ما توفره الشركة المصنعة . في كثير من الأحيان، يبقى كل هذا وراء الكواليس، والعديد من مستخدمي البرامج الثابتة المخصصة لا يدركون حتى هذه الاحتمالات، خاصة وأن نفس CyanogenMod يأتي مع نواة مخصصة فقط لمجموعة محدودة من الأجهزة، والتي يكون كل من الكود المصدري الأصلي لها النواة والقدرة على استبدالها متوفرة. على سبيل المثال، تقريبًا جميع البرامج الثابتة لـ CyanogenMod هواتف موتورولا الذكيةإنهم يستخدمون نواة قياسية - من المستحيل استبدالها بنواة خاصة بك بسبب الحماية التي لا يمكن اختراقها لمحمل التشغيل.

ومع ذلك، يمكن استبدال النواة الموجودة في الهواتف الذكية التي تحتوي على أداة تحميل التشغيل غير المؤمّنة بشكل منفصل عن البرنامج الثابت الرئيسي. ولا يقتصر الأمر على استبدال النواة فحسب، بل تثبيتها بعدد كبير من الوظائف المختلفة التي تتطلب معرفة تقنية معينة لإدارتها، وبالتالي لا تكون عادةً مدمجة في نواة البرامج الثابتة الشائعة مثل CyanogenMod وAOKP وMIUI. من بين هذه الوظائف، يمكنك العثور على دعم لترددات المعالج العالية، والتحكم في جاما الشاشة، وأوضاع توفير الطاقة، ومديري الطاقة ذوي الكفاءة العالية وعدد كبير من الميزات الأخرى.

سنتحدث في هذه المقالة عما يمكن أن يقدمه لنا منشئو النوى المخصصة، وسنلقي نظرة على النوى المخصصة الرئيسية أجهزة مختلفة، وسنحاول أيضًا تثبيت النواة بشكل مستقل عن البرنامج الثابت الرئيسي والتحقق من كل شيء بالطريقة الصعبة. إذًا، ما الذي يقدمه عادةً مطورو النوى البديلة؟

تحكم حركة المرور الذكية

تحتوي OMAP35XX SoCs، المستخدمة، على سبيل المثال، في Galaxy S II وGalaxy Nexus، على وظيفة SmartReflex، والتي تعمل كنظام ذكي لضبط الجهد عندما يتغير الحمل على المعالج. بشكل أساسي، فهو يلغي الحاجة إلى ضبط الجهد من قبل المستخدم.

التحسينات

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



نوع آخر من التحسين: تغيير جدولة الإدخال/الإخراج الافتراضية. يعد الوضع في هذا المجال أكثر إثارة للاهتمام، لأنه بدلاً من فهم مبادئ تشغيل المجدولين، يقوم بعض منشئي النواة ببساطة بقراءة المستندات الموجودة على الإنترنت الخاصة بجدولات الإدخال / الإخراج لنظام التشغيل Linux واستخلاص النتائج. بين المستخدمين، وهذا النهج هو أكثر انتشارا. في الواقع، فإن جميع برامج جدولة Linux الأقوى والأكثر ذكاءً تقريبًا غير مناسبة تمامًا لنظام Android: فهي مصممة للاستخدام مع مخازن البيانات الميكانيكية، حيث تختلف سرعة الوصول إلى البيانات اعتمادًا على موضع الرأس. يستخدم المجدول أنظمة مختلفة لتجميع الطلبات اعتمادًا على الموقع الفعلي للبيانات، لذا فإن طلبات البيانات القريبة من موضع الرأس الحالي ستحظى بأولوية أعلى. وهذا أمر غير منطقي على الإطلاق في حالة الذاكرة الصلبة، التي تضمن نفس سرعة الوصول إلى جميع الخلايا. ستتسبب برامج الجدولة المتقدمة في ضرر أكبر من نفعها على الهاتف الذكي، أما البرامج الأكثر خرقاء وبدائية فسوف تظهر أفضل النتائج. لدى Linux ثلاثة برامج جدولة مماثلة:

  • Noop (لا توجد عملية)- ما يسمى بغير المجدول. قائمة انتظار طلبات FIFO بسيطة، ستتم معالجة الطلب الأول أولاً، والثاني، وما إلى ذلك. جيد ل ذاكرة الحالة الصلبةويسمح لك بتوزيع أولويات التطبيق بشكل عادل للوصول إلى محرك الأقراص. ميزة إضافية: انخفاض حمل المعالج بسبب مبدأ التشغيل البسيط للغاية. العيب: عدم مراعاة تفاصيل تشغيل الجهاز، مما قد يؤدي إلى فشل الأداء.
  • SIO (الإدخال/الإخراج البسيط)- نظير لبرنامج جدولة الموعد النهائي دون مراعاة قرب القطاعات من بعضها البعض، أي أنه مصمم خصيصًا لذاكرة الحالة الصلبة. ميزتان رئيسيتان: أولوية عمليات القراءة على عمليات الكتابة وتجميع العمليات حسب العملية، وتخصيص شريحة زمنية لكل عملية لتنفيذ العمليات. في الهواتف الذكية حيث السرعة مهمة التطبيق الحاليوتظهر غلبة عمليات القراءة على عمليات الكتابة بشكل كبير أداء جيد. متوفر في Leankernel وMatr1x kernel لجهاز Nexus 4 وSiyahKernel.
  • الصف (القراءة والكتابة)- برنامج جدولة مصمم خصيصًا للأجهزة المحمولة وتمت إضافته إلى النواة منذ بضعة أشهر فقط. الهدف الرئيسي: الأولوية في معالجة طلبات القراءة، ولكن التوزيع العادل للوقت لطلبات الكتابة أيضًا. يعتبر أفضل برنامج جدولة لذاكرة NAND في الوقت الحالي، ويتم استخدامه افتراضيًا في Leankernel وMatr1x.

تجدر الإشارة إلى أن جميع البرامج الثابتة القياسية تقريبًا ونصف البرامج الثابتة المخصصة لا تزال تستخدم النواة مع برنامج جدولة Linux CFQ القياسي، والذي، مع ذلك، ليس سيئًا للغاية، لأنه يمكن أن يعمل بشكل صحيح مع محركات الأقراص ذات الحالة الصلبة. من ناحية أخرى، فهو معقد للغاية، ويخلق حمولة أكبر على المعالج (وبالتالي البطارية) ولا يأخذ في الاعتبار تفاصيل نظام التشغيل المحمول. خيار شائع آخر هو برنامج جدولة الموعد النهائي، وهو جيد مثل SIO ولكنه زائد عن الحاجة. يمكنك عرض قائمة المجدولات المتاحة باستخدام الأمر التالي:

# cat /sys/block/*/queue/scheduler

لتغيير ما يلي يتم استخدامه (حيث يكون الصف هو اسم المجدول):

# بالنسبة لي في /sys/block/*/queue/scheduler; قم بعمل صف صدى > $1؛ منتهي

يستخدم بعض منشئي النواة أيضًا نوعًا آخر من التحسين المتعلق بالإدخال/الإخراج. هذا لتعطيل استدعاء نظام fsync المستخدم لفرض تدفق المحتوى الذي تم تغييره فتح الملفاتإلى القرص. هناك رأي مفاده أنه بدون fsync، سيصل النظام إلى محرك الأقراص بشكل أقل، وبالتالي يوفر وقت المعالج وطاقة البطارية. بيان مثير للجدل إلى حد ما: لا يتم استخدام fsync في التطبيقات كثيرًا وفقط لحفظ المعلومات المهمة حقًا، ولكن تعطيله يمكن أن يؤدي إلى فقدان نفس المعلومات في حالة حدوث عطل نظام التشغيلأو مشاكل أخرى. القدرة على تعطيل fsync متاحة في نواة franco.Kernel وGLaDOS، ويتم التحكم فيها باستخدام الملف /sys/module/sync/parameters/fsync_enabled، حيث يجب أن تكتب 0 للتعطيل أو 1 للتمكين. مرة أخرى، لا يوصى باستخدام هذه الميزة.

إضافة وظائف جديدة إلى النواة

بالطبع، بالإضافة إلى التحسينات والتعديلات وأنظمة إدارة الأجهزة المتقدمة المختلفة، في النوى المخصصة، يمكنك أيضًا العثور على وظائف جديدة تمامًا ليست في النوى القياسية، ولكنها يمكن أن تكون مفيدة للمستخدمين.

هذه هي في الأساس برامج تشغيل وأنظمة ملفات مختلفة. على سبيل المثال، تتضمن بعض النواة دعمًا لوحدة CIFS، والتي تسمح لك بتركيب مشاركات Windows. توجد مثل هذه الوحدة في Matr1x kernel لـ Nexus S، وfaux123 لـ Nexus 7، وSiyahKernel، وGLaDOS. إنه في حد ذاته عديم الفائدة، ولكن هناك العديد من التطبيقات في السوق التي تسمح لك باستخدام قدراته.

ميزة أخرى مفيدة هي تضمين برنامج التشغيل ntfs-3g في kernel (بتعبير أدق، في الحزمة مع kernel؛ يعمل برنامج التشغيل نفسه كتطبيق Linux)، وهو أمر ضروري لتركيب محركات الأقراص المحمولة المنسقة كملف نظام NTFS. تم العثور على برنامج التشغيل هذا في نواة faux123 وSiyahKernel. عادةً ما يتم تنشيطه تلقائيًا، ولكن إذا لم يحدث ذلك، فيمكنك استخدام تطبيق StickMount من السوق.

تتضمن العديد من النوى أيضًا دعمًا لما يسمى بتقنية zram، والتي تتيح لك حجز مساحة صغيرة كبش(عادةً 10%) واستخدمها كمنطقة مبادلة مضغوطة. والنتيجة هي نوع من التوسع في حجم الذاكرة، دون أي عواقب وخيمة على الأداء. متوفر في Leankernel، ويتم تمكينه باستخدام أمر تمكين Trickster MOD أو zram.

آخر ميزتين مثيرتين للاهتمام هما Fast USB Charge وSweep2wake. الأول ليس أكثر من التنشيط القسري لـ " شحن سريع"، حتى لو كان الهاتف الذكي متصلاً بمنفذ USB الخاص بالكمبيوتر. يتوفر وضع الشحن السريع في جميع الهواتف الذكية الجديدة تقريبًا، ولكن نظرًا للقيود التقنية، لا يمكن تمكينه في نفس الوقت مع الوصول إلى بطاقة الذاكرة. تتيح لك وظيفة الشحن السريع عبر USB تمكين هذا الوضع دائمًا، مع تعطيل الوصول إلى محرك الأقراص.

Sweep2wake هو طريقة جديدةاستيقظ الجهاز الذي اخترعه مؤلف كتاب "Break-kernel". الهدف منه هو تشغيل الهاتف الذكي عن طريق تمرير إصبعك فوق مفاتيح التنقل الموجودة أسفل الشاشة، أو عبر الشاشة نفسها. هذا حقا وظيفة مريحةولكن نتيجة تشغيله، سيظل المستشعر نشطًا حتى أثناء نوم الجهاز، مما قد يؤدي إلى استنزاف البطارية بشكل كبير.

رفع تردد التشغيل والجهد وتوفير الطاقة

تحظى عملية رفع تردد التشغيل بشعبية كبيرة ليس فقط بين أصحاب أجهزة الكمبيوتر المكتبية وأجهزة الكمبيوتر المحمولة، ولكن أيضًا بين المتحمسين لتكنولوجيا الأجهزة المحمولة. مثل أحجار بنية x86، تعد المعالجات ونوى الرسومات للأجهزة المحمولة ممتازة. ومع ذلك، فإن طريقة رفع تردد التشغيل نفسها والخطوات المتخذة لتنفيذها مختلفة بعض الشيء. النقطة هي أن السائقين القياسيةبالنسبة إلى SoCs، عادةً ما يتم تقييد المسؤولين عن توفير الطاقة وتغيير تردد المعالج عند الترددات القياسية، لذلك من أجل الضبط الدقيق، يتعين عليك تثبيت إما برنامج تشغيل بديل أو نواة مخصصة.

تحتوي جميع النوى المخصصة عالية الجودة والشائعة تقريبًا على برامج تشغيل غير مقفلة، لذلك بعد تثبيتها، يتم توسيع القدرة على التحكم في "قوة" المعالج بشكل كبير. عادةً ما يقوم منشئو النواة المخصصة بأمرين يؤثران على اختيار التردد. يعد هذا توسيعًا لنطاق الترددات بما يتجاوز النطاقات المحددة في البداية - يمكنك ضبط إما تردد معالج أعلى أو تردد منخفض جدًا، مما يسمح لك بحفظ البطارية وزيادة تدرج الترددات، على سبيل المثال، بدلاً من ثلاثة ترددات محتملة ، هناك ستة للاختيار من بينها. والثاني هو إضافة إمكانية ضبط جهد المعالج، بحيث يمكنك تقليل جهد المعالج عند الترددات المنخفضة للحفاظ على شحن البطارية وزيادته عند الترددات العالية لزيادة الثبات.

يمكن التحكم في كل هذا باستخدام الأداة المساعدة المدفوعة المعروفة SetCPU أو Trickster MOD المجاني. توصيات الإدارة هي نفسها بالنسبة لأنظمة سطح المكتب. من الأفضل ضبط تردد المعالج السفلي على الحد الأدنى، ولكن ليس أقل من 200 ميجاهرتز (لتجنب التأخر)، ويتم زيادة الحد العلوي تدريجيًا أثناء اختبار الثبات، وإذا انخفض، يوصى بزيادة الجهد قليلاً لهذا التردد . لا توجد توصيات بشأن الجهد الكهربي، حيث أن كل معالج فريد من نوعه وستكون القيم مختلفة من شخص لآخر.

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

  • SmartAssV2- إعادة النظر في الخوارزمية التفاعلية مع التركيز على توفير طاقة البطارية. والفرق الرئيسي هو عدم سحب المعالج إلى ترددات عالية في حالة حدوث رشقات نارية قصيرة المدى من الحمل، وهو ما يكفي لأداء المعالج المنخفض. يتم استخدام الافتراضي في kernel Matr1x.
  • InteractiveX- خوارزمية تفاعلية مضبوطة، الميزة الرئيسيةالذي يتم قفله في المعالج عند الحد الأدنى من التردد الذي يحدده المستخدم ويقوم بإلغاء تنشيط النواة الثانية للمعالج أثناء إيقاف تشغيل الشاشة. يتم استخدام الافتراضي في Leankernel.
  • لولزاكتيفيV2- في الأساس نظام OnDemand المعاد اختراعه. عندما يتجاوز الحمل على المعالج المستوى المحدد (60% افتراضيًا)، تقوم الخوارزمية برفع التردد بعدد معين من الأقسام (1 افتراضيًا)، وتخفضه عندما ينخفض ​​الحمل. إنه ذو أهمية خاصة لأنه يسمح لك بتعيين معلمات التشغيل بشكل مستقل، وبالتالي فهو مناسب للمهوسين المتشددين.

بشكل عام، يرغب منشئو النواة حقًا في التوصل إلى خوارزميات جديدة لتوفير الطاقة بسبب سهولة تنفيذها، لذلك يمكنك العثور على عشرات الخوارزميات الأخرى. معظمها هراء تمامًا، وعند اختيار برنامج جدولة، يجب أن تسترشد بالقاعدة: إما واحدة من الثلاثة الموصوفة أعلاه، أو التفاعلية القياسية، والتي، بالمناسبة، جيدة جدًا. يمكنك الاختيار باستخدام نفس Trickster MOD.

واجهات التحكم

تشتمل النوى المخصصة الأكثر شيوعًا على عدة آليات للتحكم الدقيق في معلمات برنامج التشغيل المختلفة، وأكثرها شيوعًا هي ColorControl وGammaControl وSoundControl وTempControl.

تتوفر الواجهتان الأوليتان في كل مكان تقريبًا، بما في ذلك نواة CyanogenMod، والواجهتان الأخريان متاحتان في Leankernel وربما في نواة أخرى. بطريقة أو بأخرى، يمكن التحكم فيها جميعًا باستخدام Trickster MOD.

النوى

أي جوهر يجب أن تختار؟ لا توجد إجابة واضحة على هذا السؤال، وليس لأن "لكل واحد خاصته"، ولكن لأن هناك عددًا كبيرًا من أجهزة Android في العالم والعديد من النوى المختلفة تقريبًا. ومع ذلك، هناك العديد من النوى الشائعة التي يتم تطويرها لعدة أجهزة في وقت واحد. بشكل أو بآخر، ذكرت الكثير منها طوال القصة، لكن هنا سأقدم وصفًا مختصرًا لها.

  • Leankernel هو جوهر أجهزة Galaxy Nexus وNexus 7 وGalaxy S III. ينصب التركيز الرئيسي أثناء التطوير على البساطة وسرعة العمل. خوارزمية توفير الطاقة: InteractiveX V2، جدولة الإدخال/الإخراج: ROW، جميع واجهات التحكم المذكورة أعلاه، دعم شحن USB السريع، Swap وzram، خيارات مرنة لرفع تردد التشغيل لوحدة المعالجة المركزية ووحدة معالجة الرسومات. واحدة من أفضل النوى. قابلة للتخصيص باستخدام Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) - نواة لـ Nexus S وNexus 4. نواة بسيطة وغير مثقلة. دعم رفع تردد تشغيل وحدة المعالجة المركزية ووحدة معالجة الرسومات، وGammaControl، وشحن USB السريع، وSweep2wake، وجدولة الإدخال/الإخراج: SIO، وROW، وFIOPS. تعديلات الأداء. قابلة للتخصيص باستخدام Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV) - نواة بسيطة وغير محملة بشكل زائد لجهاز Nexus 4 و اتش تي سي وان X. تحسينات لـ Snapdragon S4 وNVIDIA Tegra 3، ووضع توفير الطاقة المعاد تصميمه لـ Tegra 3، وإمكانية رفع تردد التشغيل، وخوارزمية توفير الطاقة: تم ضبطها حسب الطلب (متوفرة أيضًا بشكل تفاعلي).
  • SiyahKernel - نواة لجهاز Galaxy S II وS III. خيارات رفع تردد التشغيل المرنة، والمعايرة التلقائية للبطارية، وبرنامج التشغيل المحسن شاشة تعمل باللمس، خوارزميات توفير الطاقة: SmartassV2 وLulzactiveV2، جدولة الإدخال/الإخراج: noop، الموعد النهائي، CFQ، BFQV3r2 (افتراضي)، V(R)، SIO. برامج تشغيل CIFS وNTFS (مع التثبيت التلقائي). قابل للتكوين باستخدام ExTweaks.
  • franco.Kernel - نواة لـ Nexus S، وGalaxy Nexus، وNexus 4، وNexus 7، وNexus 10، وGalaxy S III، جالاكسي نوتوأوبتيموس وان وواحد إكس.

تختلف قدرات Kernel بشكل كبير من جهاز لآخر، لذا سيتعين عليك التحقق من التفاصيل في الموقع. ومع ذلك، من خلال وميض هذه النواة، ستحصل على القدرة على رفع تردد التشغيل، وضبط برنامج التشغيل، والأداء الممتاز، بالإضافة إلى دعم العديد من خوارزميات توفير الطاقة والمجدولين. في الواقع، تتضمن النواة تقريبًا جميع التعديلات الموضحة في المقالة. تعتبر واحدة من أفضل النوى المتاحة. هناك تطبيق ل التحديث التلقائي Franko.Kernel Updater. يمكنك تكوينه باستخدام Trickster MOD.

كيفية التثبيت؟

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

الاستنتاجات

كما ترون، تتمتع النوى المخصصة بالعديد من المزايا مقارنة بالنوى المستخدمة في البرامج الثابتة القياسية أو التابعة لجهات خارجية. والأهم من ذلك هو أنك لا تحتاج إلى معرفة كل تعقيدات نظام Android لاستخدامها؛ فقط قم بتنزيل وتثبيت أرشيف ZIP.

مساء الأحد، أعلن لينوس تورفالدس، والد نظام Linux ومطور نظام التشغيل kernel، عن الإصدار بعد شهرين من العمل نسخة جديدةنواة لينكس 3.10.

وفقا للمطور نفسه، فإن هذه النواة هي الأكبر من حيث الابتكارات على مدى السنوات القليلة الماضية.

اعترف لينوس أنه في البداية كان ينوي إطلاق سراح مرشح إصدار آخر، ولكن بعد التفكير كان يميل إلى إطلاق الإصدار النهائي رقم 3.10 على الفور. وأشار تورفالدس أيضًا في رسالته إلى أن النواة الجديدة، مثل الإصدار 3.9، جاهزة تمامًا للاستخدام اليومي.

بالإضافة إلى ذلك، في الإعلان عن إصدار RC من النواة، كتب Linus Torvalds أنه في السابق كان يقوم دائمًا بتضمين قائمة بأسماء الأشخاص الذين أرسلوا أجزاء معينة من الكود، ولكن هذه المرة ستكون هذه القائمة كبيرة جدًا لدرجة أنه لا يمكن حذفها تعطى بالكامل في ورقة واحدة من المراسلات.

قائمة التغييرات الرئيسية التي تم إجراؤها على kernel 3.10:

  • يمكنك الآن منع تنفيذ البرامج النصية كبرامج - يمكن الآن تجميع وظيفة تشغيل البرامج النصية التي تحتوي على المسار إلى المترجم في الرأس "#!" كوحدة نمطية للنواة؛
  • متكاملة تم تطويرها واستخدامها في نظام جوجلمخبأة. يتيح لك Bcache تنظيم التخزين المؤقت للوصول إلى محركات الأقراص الثابتة البطيئة على محركات أقراص SSD السريعة؛ في هذه الحالة، يتم إجراء التخزين المؤقت على مستوى جهاز الكتلة - وهذا يسمح لك بتسريع الوصول إلى محرك الأقراص، بغض النظر عن المستخدم أنظمة الملفاتعلى الجهاز
  • يمكن تجميع النواة باستخدام مترجم Clang بفضل التصحيحات التي أعدها مشروع LLVMLinux؛
  • لقد ظهر نظام ديناميكي للتحكم في إنشاء مقاطعات المؤقت. الآن، اعتمادًا على الحالة الحالية، يمكنك تغيير المقاطعات في النطاق من آلاف القراد في الثانية إلى مقاطعة واحدة في الثانية - وهذا يسمح لك بتقليل الحمل على وحدة المعالجة المركزية عند معالجة المقاطعات عندما يكون النظام غير نشط. تُستخدم هذه الوظيفة حاليًا لأنظمة الوقت الفعلي وHPC (الحوسبة عالية الأداء)، ولكن في إصدارات kernel التالية سيتم استخدامها لأنظمة سطح المكتب أيضًا؛
  • أصبح من الممكن الآن إنشاء حدث لإعلام التطبيق بأن ذاكرة العملية/النظام المتوفرة تقترب من النفاد (في مجموعات التحكم)؛
  • يتوفر الآن ملف تعريف الوصول إلى الذاكرة للأمر perf؛
  • تمت إضافة دعم لبروتوكول RDMA (iSER) إلى نظام iSCSI الفرعي؛
  • هناك برنامج تشغيل جديد "المزامنة" (تجريبي). تم تطويره داخل منصات أندرويدويستخدم للمزامنة بين برامج التشغيل الأخرى؛
  • تم دمج برنامج تشغيل بطاقة الرسومات الافتراضية QXL (المستخدم في أنظمة المحاكاة الافتراضية لتسريع إخراج الرسومات باستخدام بروتوكول SPICE)؛
  • تم تقديم أدوات جديدة لإدارة الطاقة في معالجات ايه ام ديعائلة 16 ساعة ("جاكوار")؛
  • تمت إضافة دعم لتسريع فك تشفير الفيديو باستخدام وحدة فك ترميز UVD للأجهزة المدمجة في وحدات معالجة الرسومات AMD الحديثة إلى Radeon DRM؛
  • لقد ظهر برنامج تشغيل لمحولات الفيديو الافتراضية مايكروسوفت هايبر-V(بواسطة تشغيل Hyper-Vبشكل عام هناك أيضا تحسينات)؛
  • تم تحسين تنفيذ وظائف التشفير (sha256، sha512، السمكة المنتفخة، twofish، الثعبان والكاميليا) باستخدام تعليمات AVX/AVX2 وSSE.

في مساء الأحد، تم إطلاق Linux kernel 3.10 الجديد رسميًا. وفقًا للينوس تورفالدس، تبين أن النواة هي الأكبر من حيث الابتكار خلال السنوات القليلة الماضية. كان لينوس ينوي في البداية إطلاق إصدار مرشح آخر، لكنه كان يميل إلى إصدار الإصدار النهائي 3.10 - وفي رسالته يشير إلى أن النواة الجديدة، مثل Linux 3.9، ليست عرضة لمشاكل الأداء وهي جاهزة للاستخدام اليومي.

في الإعلان عن نسخة RC، كتب تورفالدس أنه عادة ما يدرج قائمة بأسماء الأشخاص الذين أرسلوا أجزاء معينة من الكود، ولكن هذه المرة كانت القائمة كبيرة جدًا لدرجة أنه لا يمكن إدراجها بالكامل في قائمة بريدية واحدة.

قائمة جزئية بالتغييرات التي تم إجراؤها على kernel 3.10:

  • يمكنك منع تنفيذ البرامج النصية كبرامج - يمكن الآن تجميع وظيفة تشغيل البرامج النصية التي تحتوي على المسار إلى المترجم في الرأس "#!"
  • تم دمج نظام Bcache الذي تم تطويره واستخدامه بواسطة Google. يتيح لك Bcache تنظيم التخزين المؤقت للوصول إلى محركات الأقراص الثابتة البطيئة على محركات أقراص SSD السريعة؛ في هذه الحالة، يتم إجراء التخزين المؤقت على مستوى جهاز الكتلة - وهذا يسمح لك بتسريع الوصول إلى محرك الأقراص، بغض النظر عن أنظمة الملفات المستخدمة على الجهاز؛
  • يمكن تجميع النواة باستخدام مترجم Clang بفضل التصحيحات التي أعدها مشروع LLVMLinux؛
  • لقد ظهر نظام ديناميكي للتحكم في إنشاء مقاطعات المؤقت. الآن، اعتمادًا على الحالة الحالية، يمكنك تغيير المقاطعات في النطاق من آلاف القراد في الثانية إلى مقاطعة واحدة في الثانية - وهذا يسمح لك بتقليل الحمل على وحدة المعالجة المركزية عند معالجة المقاطعات عندما يكون النظام غير نشط. تُستخدم هذه الوظيفة حاليًا لأنظمة الوقت الفعلي وHPC (الحوسبة عالية الأداء)، ولكن في إصدارات kernel التالية سيتم استخدامها لأنظمة سطح المكتب أيضًا؛
  • أصبح من الممكن الآن إنشاء حدث لإعلام التطبيق بأن ذاكرة العملية/النظام المتوفرة تقترب من النفاد (في مجموعات التحكم)؛
  • يتوفر الآن ملف تعريف الوصول إلى الذاكرة للأمر perf؛
  • هناك برنامج تشغيل جديد "المزامنة" (تجريبي). تم تطويره ضمن نظام Android الأساسي ويستخدم للمزامنة بين برامج التشغيل الأخرى؛
  • ظهر برنامج تشغيل لمحولات الفيديو الافتراضية Microsoft Hyper-V (هناك أيضًا تحسينات في تشغيل Hyper-V بشكل عام)؛
  • يتم الآن دعم ميزات إدارة الطاقة الجديدة المقدمة في عائلة معالجات AMD 16h (Jaguar)؛
  • تمت إضافة دعم لتسريع فك تشفير الفيديو باستخدام وحدة فك ترميز UVD للأجهزة المدمجة في وحدات معالجة الرسومات AMD الحديثة إلى Radeon DRM؛
  • تمت إضافة دعم لبروتوكول RDMA (iSER) إلى نظام iSCSI الفرعي؛
  • تم تحسين تنفيذ وظائف التشفير (sha256، وsha512، والسمكة المنتفخة، وtwofish، والثعبان، والكاميليا) باستخدام تعليمات AVX/AVX2 وSSE.
  • تم دمج برنامج تشغيل بطاقة الرسومات الافتراضية QXL (المستخدم في أنظمة المحاكاة الافتراضية لتسريع إخراج الرسومات باستخدام بروتوكول SPICE).

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

نواة نظام التشغيل Android والبرامج الثابتة الخاصة به

ما هو جوهر الجهاز المحمول؟

نواة نظام التشغيل هي أساس البرنامج الذي يتحكم في أجهزة الجهاز. تعتمد المعلمات الأساسية لأي أداة على ذلك. وتجدر الإشارة إلى أنه يتكون من ثلاثة مكونات مترابطة - Linux kernel، وجهاز Dalvik العمودي، والعديد من الخدمات والمكتبات ذات المستوى المنخفض. إذا كنا نتحدث عن البرامج الثابتة المخصصة، فسيتأثر مكونان فقط، مما يسمح لك بإضافة خدمات نظام جديدة، وتحسين المعلمات الموجودة وتغيير الغلاف الرسومي.

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

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

قبل وميض النواة، نوصي بالتأكد من أنك اخترت إصدارًا جيدًا تم إنشاؤه بواسطة مطورين ذوي خبرة. بالإضافة إلى ذلك، من المهم التأكد من أنه مناسب لإصدار البرنامج الثابت لنظام Android لديك. يُنصح بقراءة مراجعات الأشخاص الذين تمكنوا من تثبيت الإصدار المناسب من النواة على هواتفهم المحمولة. قد تحتوي على التعليقات معلومات مهمةحول المشاكل التي قد تنشأ في مرحلة البرامج الثابتة أو مواصلة تشغيل الجهاز.

وميض الأداة عبر Fastboot

يمكنك إعادة تحميل ملفات جهاز Android الخاص بك باستخدام Fastboot. لكن عليك أولاً تثبيت الأداة المساعدة على أداتك الذكية. هناك نسختان من هذا البرنامج. الأول يتضمن تنزيل Fastboot مع المسؤول برنامج اندرويد SDK. يتضمن الإصدار الثاني تنزيل الأداة المساعدة بشكل منفصل.

نوصي بالتحقق مما إذا كان جهازك المحمول يمكنه رؤية الكمبيوتر المحمول أو الكمبيوتر الخاص بك. للقيام بذلك ما عليك القيام به. بعد تنزيل وتثبيت الأداة المساعدة Fastboot على جهاز الكمبيوتر أو الكمبيوتر المحمول الذي يعمل بنظام التشغيل Windows وتوصيل هاتفك الذكي، تحتاج إلى فتح سطر الأوامر. للقيام بذلك، افتح البحث. في نظام التشغيل Windows 8، كل ما عليك فعله هو الإشارة بمؤشر الماوس نحوه الجانب الأيمنالشاشة واختيار القسم المناسب. في البحث، تحتاج إلى إدخال "cmd"، وبعد ذلك سترى سطر الأوامر. يجب أن يتحول الجهاز إلى وضع البرامج الثابتة. بعد ذلك، يجب عليك إدخال الأمر الذي سيختبر التفاعل بين جهاز الكمبيوتر الخاص بك وجهازك المحمول:

أجهزة التشغيل السريع

إذا كان كل شيء يعمل، فأنت بحاجة إلى تنزيل الإصدار الصحيح من برنامج kernel الثابت boot.img. لا نوصي بوميض نواة البرنامج الثابت الأصلي، لأن ذلك قد يؤدي إلى مشاكل في تشغيل الهاتف الذكي. يجب حفظ الملف في قسم تم إنشاؤه مسبقًا على محرك الأقراص C يسمى "Android". بعد ذلك، تحتاج إلى تشغيل الجهاز المحمول في Fastboot وتوصيله بالكمبيوتر. ستظهر رسالة "Fastboot USB" على الشاشة.

  • القرص المضغوط C:\Android.
  • fastboot فلاش التمهيد boot.img.
  • Fastboot محو ذاكرة التخزين المؤقت.
  • إعادة التشغيل السريع.

من المهم جدًا إدخال جميع الكلمات بشكل صحيح، مع مراعاة حالة الأحرف والمسافات. يتم فتح أمر القرص المضغوط المجلد المطلوبوالذي يحتوي على الملفات المطلوبة. بعد ذلك، يحدث الوميض. يقوم أمر fastboot Erase Cache بحذف قسم ذاكرة التخزين المؤقت. الأمر الأخير - إعادة تشغيل fastboot يعيد تشغيل الجهاز من وضع البرنامج الثابت إلى الوضع الطبيعي. إذا قمت بتنفيذ كافة الخطوات المذكورة أعلاه بشكل صحيح، ستكون العملية ناجحة.

البرامج الثابتة باستخدام ClockworkMod Recovery

استرداد ClockworkMod(أو CWM للاختصار) هو نظام استرداد يتم استخدامه بدلاً من استرداد المصنع الأصلي. يسمح لك CWM بالتثبيت البرامج الثابتة الجديدةإلى جهاز محمول، قم بفلاش النواة، وقم بإجراء ذلك نسخة احتياطيةالملفات واستعادة الصدفة. يمكن لمثل هذا النظام العمل مع ملفات تحديث البرامج الثابتة بتنسيق ZIP. تم تثبيت ClockworkMod ليحل محل استرداد المصنع. لبدء تشغيل CWM، تحتاج إلى معرفة مجموعة المفاتيح المناسبة لأداتك الذكية. في معظم الحالات، يكون هذا مزيجًا من زري خفض مستوى الصوت والطاقة اللذين يجب الضغط عليهما أثناء تشغيل الجهاز.

لتحديث البرنامج الثابت لـ kernel، قم بتنزيل الأرشيف بامتداد zip. يجب أن يحتوي على مجلد META-INF. ثم هناك خياران. في الحالة الأولى، تحتاج إلى تحديد ملف البرنامج الثابت. يتضمن الخيار الثاني وضع ملف البرنامج الثابت في المجلد /sdcard. بعد ذلك، يجب عليك تنشيط ClockworkMod Recovery، والعثور على وظيفة تطبيق التحديث من sdcard هناك وتحديد الملف المطلوب.

تجدر الإشارة إلى أن قائمة ClockworkMod Recovery مريحة ومفهومة لمعظم المستخدمين. بالإضافة إلى نظام استرداد البرامج الثابتة هذا، يمكنك استخدام TWRP Recovery. هذه الأداة مريحة وشائعة بين مستخدمي Android. الشيء الرئيسي هو الاختيار الملف الصحيحالبرامج الثابتة.

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

العديد من أصحاب أجهزة أندرويدفي المنتديات والمواقع المختلفة غالبًا ما نصادف ذكر شيء غير مفهوم، وهو ما يسمى النواة، أو النواة باللغة الإنجليزية. ويمكن تغييره وذكره في قائمة إعدادات الجهاز، في قسم "حول الجهاز اللوحي (الهاتف)".

إذا تعمقت أكثر، ستجد أن النواة جزء من نظام التشغيل، ولا يمتلكها Android فحسب، بل أيضًا أنظمة تشغيل أخرى: Windows وiOS وMacOS وغيرها. لكننا سنكون مهتمين بنواة Android، وسأحاول شرح ما هو عليه على مستوى المستخدمين المبتدئين.

ربما تعلم أن أي نظام تشغيل، بما في ذلك Android، هو بشكل عام مجموعة من البرامج التي تتحكم في تشغيل الجهاز بأكمله وتكون مسؤولة عن إطلاقه تطبيقات مخصصةمثل الألعاب ومديري الملفات ومتصفحات الويب وغيرها.

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

وهكذا اكتشفنا أنه عند وجود أي برمجةيحتاج إلى جهاز الكمبيوتر اللوحي أو الهاتف للقيام بشيء ما، فإنه يتحول إلى نواة نظام التشغيل للقيام بذلك.

يتحكم kernel في جميع الأجهزة تمامًا: Wi-Fi وBluetooth وGPS والذاكرة والأجهزة الأخرى. "قلب" الجهاز - معالجه - ليس استثناءً. يمكن للنواة التحكم في ترددها وإمدادات الطاقة.
جوهر التشغيل أنظمة أندرويد، والتي استعارها مطوروها جوجل من نظام التشغيل لينوكس.

نظرًا لأن النواة تتحكم في جميع الأجهزة، كما أن أجهزة جميع الأجهزة اللوحية والهواتف مختلفة، يتم تعديل نواة Android الأساسية من قبل الشركة المصنعة لكل جهاز على حدة.

مثل البرامج الثابتة، يمكن أن تكون النواة مخزنة (مصنع) ومخصصة - بديلة، تم إنشاؤها بواسطة مطورين مستقلين.

لماذا نحتاج إلى حبات مخصصة؟ تم تحسين نواة المخزون إلى أقصى حد من قبل الشركة المصنعة من أجل جهاز معين، لكنه عادةً ما يمنع وظائف kernel المهمة مثل التحكم في تردد المعالج. وإذا كنت بحاجة إلى رفع تردد التشغيل عن معالج جهازك اللوحي، فستحتاج إلى تغيير النواة إلى نواة مخصصة يتم فيها إلغاء قفل وظيفة التحكم في تردد المعالج.

بالإضافة إلى ذلك، عادةً ما تعتمد النوى المخصصة على أنوية أحدث إصدارات لينكسالنوى. فيما يلي قائمة تقريبية بالميزات التي توفرها لنا النوى المخصصة:

  • تغيير تردد المعالج ضمن نطاق واسع؛
  • رفع تردد التشغيل للنظام الفرعي للرسومات (GPU)؛
  • تقليل تردد المعالج وجهده، مما يسمح بعمر أطول للبطارية؛
  • برامج تشغيل أحدث وعالية الجودة، على سبيل المثال، تسريع نظام تحديد المواقع (GPS) أو إضافة وظائف جديدة؛
  • مجموعة واسعة من الخيارات لتخصيص وتكوين الصوت و نطاق الألوانشاشة؛
  • دعم أنظمة الملفات البديلة (XFS، ReiserFS وغيرها).

لأن حبات بديلةتم إنشاؤها بواسطة مطورين مستقلين، فليس هناك ما يضمن أنه بعد تثبيت نواة مخصصة، سيعمل جهازك اللوحي أو هاتفك دون أي أعطال. لذلك، قبل وميض نواة جديدة، من المستحسن عمل نسخة احتياطية كاملة للنظام.