الثلاثاء، ديسمبر 31، 2013

نواة لينكس

من الأخطاء الشائعة جداً التي يقع فيها الكثيرون أن يعبر أحد عن لينكس Linux بأنه يتمثل بتوزيعة بعينها كتوزيعة ماندريك Mandrake أو ريدهات Redhat أو غيرهما، ولكن الصحيح أن Linux عبارة عن نواة أو قاعدة Kernel يبنى عليها أي نظام من توزيعات لينكس المختلفة.
فما هي النواة وما فائدتها؟
نواة لينكس Linux kernel بمثابة العقل من الجسد، فهي المسئولة عن تعريف الأجهزة الملحقة بالحاسوب hardware كبطاقات الصوت والصورة والذاكرة والمودم وغيرها، كما أنها مسئولة عن إدارة هذه الأجهزة والمعالج، وهي المسئولة أيضاً عن توفير الخدمات الأساسية لباقي أجزاء نظام التشغيل, كما أنها تقوم على توفير الخدمات الأساسية Services لبرامج المستخدم، وتتحكم باستخدام البرامج المختلفة للذاكرة العشوائية RAM، وهي أيضاً التي تتيح تعدد المستخدمين والمهام والمواءمة ما بين الأعمال المختلفة.
هل يتم التعامل مع النواة مباشرة؟
في الحقيقة الجواب.. لا.. بل إن هناك حاجز حماية يسمى القشرة أو الصدفة Shell تعمل كطبقة عازلة تحمي النواة من أي أوامر تقوم بها التطبيقات أو البرامج مما قد ينتج عنه انهيار النظام بشكل مؤقت أو تدميره تماماً. والصورة توضح مكان النواة وعلاقة القشرة وقاعدة النظام بها، ويتضح أيضاً فيها بعد التطبيقات والأدوات عنها.


تركيب النواة:
يمكن لأي مطور أن يركب النواة حتى بعد تركيب النظام بفترة دون أن يضر ذلك به إن هو اتبع الطريقة الصحيحة، كما يمكن أيضاً تخصيصها، وأيضاً استبدال مكتبات مكان أخرى فيها والكثير من الأمور التي سيتعرف عليها المستخدم في المراحل المتقدمة من استخدامه لتوزيعات لينكس، وقد خصص لها مطورها لينوس تورفالدز موقعاً على الإنترنت وضع فيه جميع تحديثاتها، وأرشيفاً للإصدارات السابقة ليستمر التطوير ويشرف هو شخصياً على عمليات التطوير. وعنوان الموقع على الإنترنت : www.kernel.org
تجدر الإشارة هنا إلى أن النواة لها سمات يجب أن نعرفها قبل الإقدام على أي خطوة نحو التعديل في مكونات هذه النواة، فعندما تكون أمامك إصدارتان الأولى 2,4,9 والثانية 2,5,11 فأيهما ستختار؟ بطبيعة الحال قبل أن تقرأ هذه الأسطر سيكون الاختيار المنطقي لك هو الثاني كون النواة فيه الأحدث، لكن الصحيح هو الاختيار الأول الذي جاءت منزلته الثانية (4) وهي عدد زوجي، هذه الأعداد الزوجية ترمز إلى الإصدارات المستقرة، بينما الثاني منزلته الثانية (5) وهي من الأعداد الفردية لذلك فهي ليست للاستخدام العادي إنما لاستخدام المطورين.
دور القشرة Shell وكيفية عملها:
القشرة عبارة عن واجهات بسيطة تعمل مع بداية عمل النظام تلعب دور الوسيط ما بين البرامج والنظام في استقبال الأوامر ثم تقوم بتفسير هذه الأوامر وبعد ذلك تمريرها إلى النواة.
ومن أشهر مفسرات الأوامر (القشرة) برنامج bash وهو اختصار للمصطلحBourn Again Shell هذا البرنامج أحد برامج مشروع جنو GNU الذي أسسه ستالمن ضمن مشروع كبير للبرامج الحرة مفتوحة المصدر.
الواجهات الرسومية GUI :
الواجهة الرسومية ويرمز له بـ GUI اختصاراً للمصطلح Graphical User Interface ويقصد بالواجهة الرسومية السطح البيني الذي يعمل كوسيط ما بين البرنامج والمستخدم ، بحيث يتعامل مع البرنامج باستخدام الفأرة فتتم ترجمة هذه الإشارات إلى أوامر يرسلها البرنامج إلى قشرة النظام ومن ثم تحال إلى النواة. وهناك العديد من الواجهات الرسومية، وقد تم تطوير نظام نوافذ إكس X Windows في منتصف الثمانينات والذي يمثل واجهة رسومية تفاعلية شبيهة بواجهة ويندوز وهو أحد أبرز الأسباب التي ساهمت في انتشار لينكس، ومن أشهر إصداراته Xfree68 . ومن أشهر أسطح المكاتب المساعدة سطح KDE و GNOME و IceWM .
التطبيقات الأساسية وبرامج جنو:
مع أي توزيعة تجد أن هناك تطبيقات أساسية لا غنى للمستخدم عنها، ومنها - على سبيل المثال لا الحصر - مفسرات الأوامر، ولوحة تحكم ومحرر بسيط ، ومدير ملفات، ومستعرض إنترنت ، وهناك تطبيقات مساعدة أو ثانوية، ومنها حزم النشر المكتبي، وعارضات وسائط متعددة، ومشغلات، وغيرها.. والمجال في هذا واسع جداً. هذه البرامج وتطبيقات تسمى جملة (برامج جنو) أو البرامج الحرة، وقد أوضحنا في مقال سابق معنى الحرية وأهم بنودها وهي مفتوحة المصدر أي بإمكان أي مطور أن يعدل فيها كأي جزء من النظام ثم يعيد البناء.
بعد هذا العرض نستخلص أن مصطلح لينكس Linux لا ينطبق على توزيعة بعينها فالصواب أن التعبير الصحيح هو GNU / OS (حيث OS مسمى التوزيعة) كأن يقال GNU/Mandrake أو GNU/Redhat أو يكتفى فقط بذكر اسم التوزيعة فقط (وهو الشائع الآن بين مستخدمي لينكس).
المصادر:
لإعداد هذا المقال بشكل علمي تمت الاستعانة ببعض المصادر:
1 - كتاب لينكس الشامل - مؤيد السعدي.
2 - كتاب مقدمة في نظام تشغيل ريد هات لينكس - فيصل يوسف
3. The Linux Programmer«s Guide - Sven Goldt & Others