Posted by LI-6YLUCY on خمي, 08/07/2004 - 15:49 :: Articles Under Construction

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 ألاخره)
  • المصادر البرمجيه, أنظر بناء الحد ألادني لنظام اللينوكس من المصادر البرمجيه أنظر الموقع.

ر