مكوّنات نظام لينكس

يعتقد بعض الناس أن لينكس هو عبارة عن كتلة واحدة فقط، في الواقع هذا الكلام غير صحيح لذلك نقول أنّ لينكس ليس مجرد لينكس (أي أنّ أي توزيعة لينكس ليست مجرّد نواة لينكس “Linux Kernel”)، فهي تحوي العديد من الأجزاء والأدوات الهامّة الأخرى، مثل: محمّل الإقلاع GRUB وBash Shell وGNU shell utilities وDaemons وخادوم العرض X، وبيئة سطح المكتب.. إلخ، يتم تطوير هذه الأجزاء أو البرمجيات المختلفة من قِبل العديد من الفرق وجماعات التطوير المستقلة، والتي يتم تجميعها في توزيعة لينكس، حيث يتم بناء هذه الأجزاء فوق بعضها البعض (كبناء البنايات)، وبعد الانتهاء تشكّل هذه الأجزاء المترابطة مع بعضها البعض نظاما تامّا؛ وهذا على العكس من نظام ويندوز الذي يتم تطويره بشكل كامل بواسطة شركة ميكروسوفت.يتألّف لينكس من العديد من طبقات متراكبة فوق بعضها البعض، وفيما يأتي تفصيل لها.

نواة نظام التشغيل (Kernel)

لينكس بحدّ ذاته ليس نظام تشغيل، بل إن كلمة “لينكس” تُطلق تحديدا على نواة النظام فحسب.

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

جميع البرامج الأخرى تُبنى أو تَعمل فوق النواة، إن النواة هي القطعة السفلى في البرمجيات التي تتحاور مع القطع والأجهزة.

يستخدم نظام ويندوز نواة تدعى باسم Windows NT، وأمّا توزيعات لينكس فهي تستخدم نواة لينكس.

هناك أنوية مجانية مفتوحة أخرى، مثل نواة Hurd، ولكنّها غير مشهورة ولا تعتمد على نواة لينكس، فاستخدامها يعني فعليًا أنّك لا تستخدم لينكس، حتى لو استخدمت نفس بقية الأدوات المرافقة للينكس والموجودة في هذا المقال مع تلك الأنوية.

محمّل الإقلاع (Bootloader)

عندما تقوم بتشغيل حاسوبك، سوف يقوم أولا بإظهار “نظام الإدخال والإخراج الأساسي - BIOS”، والبيوس هو الذي يمثّل مرحلة الإقلاع الأوليّة لجهاز الحاسوب؛ أما البرنامج الذي يقوم بتحميل أنظمة التشغيل الموجودة على حاسوبك فهو يعرف بمحمل الإقلاع (bootloader) ويدعى محمل الإقلاع الذي يأتي مع لينكس باسم GRUB.

العفاريت (Daemons)

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

تعرف Daemons في نظام ويندوز باسم “الخدمات Services” بينما في يونكس وأشباهه تعرف باسم العفاريت.

الصدَفة (The Shell)

معظم أنظمة لينكس تستخدم “Bash Shell” افتراضيًا وهي التي توفّر واجهة معالجة الأوامر مما يسمح لك بالسيطرة على حاسوبك عن طريق كتابة الأوامر في الواجهة النصيّة (سطر الأوامر) ويمكنها أيضا أن تقوم بتشغيل السكربتات (Scripts)، حتى لو كنت تعمل بواجهة رسومية فإن الصدَفة ستظل تعمل في الخلفية ويمكن تشغيلها عبر الطرفية (Terminal).

ملحقات الصدفة (Shell Utilities)

توفر الصدفة بعض الأوامر المضمنة الأساسية، ولكن معظم أوامر الصدفة التي يستعملها مُستخدمو لينكس ليست مضمنة في الصدفة، على سبيل المثال: الأوامر الحرجة أو الهامّة مثل “cp command” لنسخ الملفات و “ls command” لإدراج الملفات في مجلّد و “rm command” لحذف الملفات، هيَ أصلا جزء من حزمة GNU Core Utilities.

إن أنظمة لينكس لا تعمل من دون هذه الملحقات الهامة، في الواقع إن Bash shell هي جزء من مشروع GNU.

خادوم العرض (Display Server)

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

X.org ليس بيئة سطح مكتب كامل، بل هو مجرد نظام بياني للرسوميات، إن بيئات سطح المكتب هي التي يتم بناؤها فوق X.org وتتأثر به.

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

بيئة سطح الكتب (Desktop Environments)

سطح المكتب هو الشي الذي تراه أمام ناظريك مباشرة والذي تستخدمه وتتحكم به وتشكله ويشمل الأشرطة والخلفيات والإطارات والحدود وشريط النوافذ إلخ…، تستخدم أوبونتو واجهة Unity أما فيدورا فتستعمل GNOME بواجهة GNOME Shell، أما Kubuntu فتسعمل KDE، وMint تستعمل Cinnamon و Mate.

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

هناك فرق بين بيئة سطح المكتب (Desktop Environment) وواجهة سطح المكتب (Desktop Interface)، الأولى هي مجموعة متكاملة من المكتبات والبرامج والخدمات التي تشكّل بيئة استخدام نظام التشغيل للمستخدم النهائي، بينما الثانية هي مجرّد “غلاف” لبيئة سطح المكتب، لا يمكنك أن تستخدم واجهة سطح المكتب دون البيئة الخاصّة بها. مثلًا واجهة يونتي تعتمد على بيئة جنوم، وواجهة جنوم شل تعتمد على بيئة جنوم، ولا يمكنك تشغيل هاتين الواجهتين دون بيئة جنوم ومكتباتها، فـ“جنوم” هي بيئة سطح مكتب فقط، وليست واجهة.

برامج سطح المكتب (Desktop Programs)

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