Skip to Content

4 نواة اللينوكس

khaledhosny's picture

4- نواة اللينوكس

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

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

لو جمعت النواة الخاصه بك, فد تلاحظ أن هناك العديد من ألاختيارات لأجل أدوات (modem, sound card ...etc) معينه.

و أن النواة تدير ملفات النظام, ألاتصلات, و ألشبكات.

بمجرد أن النواة تحملت, أول شيء تفعله هو البحث عن البرنامج init لتنفيذه.

4.1 الإعداد

معظم الإعدادات للنواة تتم بمجرد بنائها, باستخدام menuconfig, أو xconfig في usr/src/linux/ (أو أي مكان تجده فيها). يمكنك أعادة النمط للفديو, ملفات النظام الجذري, ذاكرة الوصول العشوائيه بأستخدام rdev. براميترات يمكن تمريرها إلي النواة عن طريق الlilo. يمكنك تمريرها للنواة من lilo.conf أو محث الlilo. مثل لو تريد أستخدام hda3 كملفات النظام الجذري عوضا عن hda2 , يمكنك كتابة

LILO: linux root=/dev/hda3

لو أنك تبني نظامك من المصادر, يمكنك جعل حياتك أسهل بصنع نواة منليثيه. أذن لا يوجد داعي لنسخ وحدات النواة الي النظام المستهدف.

ملاحظه: أن ملف system.map يستخدم بمسجّل النواة للتحديد أسماء الوحدات التي تولد رسائل(fix me)

4.2 تدريبات

فكر في هذا: أن dev/hda3/ ملف من نوع خاص الذي يوصف قسم من القرص الصلب. لكنه يسكن في ملفات النظام مثل أي ملف أخر. النواة تريد معرفة أي قسم من القرص الصلب تريد إلحاقه كملفات النظام الجذري - لأنها لا تحتوي علي ملفات النظام الجذري بعد. فكيف يمكن قرائه dev/hda3/ لتعرف اي قسم تلحقه؟

لو لم تبني النواة الخاصه نكز أقرأ كل المساعدة المتوافره لكل أختيار.

أنظر الي أي مدي يمكنك أن تصنع نواة صغيرة و تظل تعمل. يمكنك تعمل المزيد عن طريق ترك ألاشياء الخاطئه!

أقراء ``The Linux Kernel'' (الموقع في ألاسفل) كلما تفعل ذلك, أبحث عن المصادر البرمجيه التي تشير اليه.الكتاب يشير الي اصدار النواة 2.0.33 الذي يعد قديم. قد تكون سهله أذا أنزلت ألاصدار القديم من النواة و أقرأ المصدر الخاص بها. أنه مذهل (fixme)

هاك! أنظر أن كان بأمكانك أظهار بعض الرسائل الجديدة.

4.3 المزيد من المعلومات

  • /usr/src/linux/README و محتويات /usr/src/linux/Documentaion/ (قد يكون في مكان أخر)
  • /usr/src/linux/README
  • المساعدة الموجودة عندما تعد النواة بأستخدام menuconfig أو make xconfig
  • The Linux Kernel (دلائل LDP الى ألاخره)
  • المصادر البرمجيه, أنظر بناء الحد الأدني لنظام اللينوكس من المصادر البرمجيه انظر الموقع.


Dr. Radut | book