هذه نسخة قديمة من الصفحة!
جدول المحتويات
مكونات توزيعة لينكس
توزيعات لينكس (Distributions) هي أنظمة مختلفة تطوّرها جهات مختلفة، تشترك جميعها بكونها تستعمل نواة لينكس لكنّها قد تشحن ضمنها برمجيات أو أدوات مختلفة عن بعضها البعض. يمكنك أن تشبّه التوزيعات مثل إصدارات ويندوز 7 أو ويندوز 10، لكن الفرق هو أنّه في عالم لينكس يستطيع الجميع تطوير توزيعاتهم الخاصّة وإطلاقها للناس كيفما شاؤوا دون انتظار إذنٍ من أحد.
تتكون التوزيعة من مئات أو ربما آلاف البرمجيات الصغيرة التي تقوم بمهام معيّنة لتشكّل في مجموعها كامل نظام التشغيل. كل برمجية مسؤولة عن أداء مهمّة معيّنة وبالتالي تتكافل جميعها لتوفير توزيعة لينكس النهائية.
لكن هناك مكوّنات أساسية لا غنىً عنها في معظم توزيعات لينكس، وسنشرحها في هذا المقال.
النواة
النواة هي قلب نظام التشغيل، وهي الوحدة المسؤولة عن ربط العتاد الفيزيائي (Hardware) ببقية أجزاء نظام التشغيل؛ مثل مهام توفير الموارد (Resources) وإدارة العمليات وتوزيع الموارد على العمليات، بالإضافة إلى توفير تعريفات قطع العتاد المختلفة وتشغيلها.
تستخدم جميع توزيعات لينكس نواة لينكس (Linux Kernel) التي يشرف عليها لينوس تورفالدز، ولا تسمّى توزيعة لينكس بذاك الاسم إن لم تكن تستخدم نواة لينكس (لأنّه من الممكن مثلًا استخدام بقية الأجزاء لتطوير توزيعات من أنوية أخرى مثل BSD). لكن لاحظ أنّ توزيعات لينكس قد تختلف فيما بينها من ناحية النواة حتّى وإن كانت تتشارك باستخدام نواة لينكس؛ فبعضها قد يشحن بعض الترقيعات (Patches) التي تحلّ بعض المشاكل المعيّنة للمستخدمين أو تحسّن من الأداء، بينما غيرها قد يأتي بالنسخة الفانيلا من نواة لينكس القادمة من موقع Kernel.org.
هناك إصدارات معدّلة من نواة لينكس مثلًا مخصصصة للأداء العالي أو لتشغيل الألعاب بقوّة أكبر، مثل نواة Liquorix.
قد تستخدم توزيعات لينكس إصداراتٍ مختلفة من نواة لينكس؛ فبعضها يأتي مثلًا بالإصدار 5.4 بينما غيرها يأتي بأحدث الإصدارات مثل 5.9، وكلّ توزيعة تتبع سياسة معيّنة في توفير تحديثات النواة ومتى تشحنها للمستخدمين ومتى تمتنع عن ذلك.
الصدفة الافتراضية
تُحاط نواة نظام التشغيل بما يعرف بالصَدَفَة (Shell)، ومن اسمها تفهم أنّها تلتف حول نواة نظام التشغيل وتحيط بها لتفصل بينها وبين بقية البرامج والعمليات على نظام التشغيل. الصدفة ليست متصلة مباشرةً بالنواة فالصدفة هي اﻷخرى ليست سوى برنامج من البرامج، لكنها تتعامل مع البنية التحتية لنظام التشغيل بصورة مباشرة.
وظيفة الصدفة هي أن تعمل كوسيط بين نواة نظام التشغيل وبين بقية البرامج ومستخدم نظام التشغيل. النواة مسؤولة مثلًا عن إدارة العمليات والكتابة على الملفّات (I/O) بالإضافة لإدارة الموارد وغير ذلك. لكن ما تقوم به الصدفة هو أنّها تنظّم العلاقة بين النواة والبرامج أو بين النواة والمستخدم، بحيث يمكن للمستخدم أن يتفاعل مع مختلف أجزاء نظام التشغيل ويمرر أوامر (Commands) إليها فتقوم هي بتنفيذ الإجراءات التي يريدها المستخدم. أو يمكن للبرامج كذلك أن تجمع بيانات وتنفذ عمليات على مختلف أجزاء نظام التشغيل عن طريق الاتصال بالصدفة أوّلًا.
فالصدفة هي - عمليًا - سطر الأوامر الذي تفتحه للتواصل مع مختلف أجزاء نظام التشغيل.
الصدفة الافتراضية على معظم توزيعات لينكس هي Bash، وهناك صدفات أخرى مثل Zsh وFish وغيرها تأتي بمميزات وأهداف مختلفة.
محمّل الإقلاع
أوّل برنامج يعمل بعد الانتهاء من النظام الإقلاعي الخاصّ بالجهاز (BIOS) هو محمّل الإقلاع البرمجي (Bootloader) الخاصّ بنظام التشغيل. وظيفة محمّل الإقلاع ببساطة تحميل نواة نظام التشغيل إلى الذاكرة العشوائية (RAM) ثمّ تشغيل أي برامج أخرى قد تكون مسؤولة عن متابعة عملية الإقلاع.
محمّل الإقلاع الرئيسي على معظم - ولربما جميع - توزيعات لينكس هو محمّل GRUB2 الشهير.
مدير النظام
البرامج ليست سيانًا على نظام التشغيل. هناك خدمات (Services) وهناك برامج تعمل من سطر الأوامر وهناك برامج تعمل في الخلفية (Daemons)، وهناك برامج رسومية وهناك صدفات وهناك خواديم عرض ووو... أشياء كثيرة وعريضة. وهذه الأشياء بحاجة إلى أن تُدار بطريقة معينة تسمح بتفعيلها أو تعطيلها أو فحصها أو إجراء أي عملية عليها متى ما احتيج ذلك من طرف نظام التشغيل.
هنا يأتي دور مدير خدمات النظام (System Services Manager) وهو البرنامج الأوّل الذي يُحمّل بعد نواة نظام التشغيل، فوظيفة هذا البرنامج هو أن يبدأ تحميل وإدارة العمليات الأخرى التي تأتي بعده جميعًا، مثل خادوم العرض ومدير العرض وبيئة سطح المكتب والبرامج العادية وغير ذلك. مدير خدمات النظام مسؤول عن إدارة العمليات بصورة مباشرة داخل نطاق المستخدم.
هناك تقسيمان افتراضيان ذهنيان لجميع البرمجيات التي تعمل على الحاسوب:
- User Space: ويقصد بها مساحة تطبيقات المستخدم، أي أنّها البرامج المسؤولة عن التفاعل مع المستخدمين وأخذ أوامر الإدخال منهم وعرض المُعطيات لهم على الشاشة. النواة مثلًا ليست ضمن مساحة تطبيقات المستخدم فالنواة هي جزء أصيل من نظام التشغيل ذاته لا يعمل دونها. لكن مثلًا برنامج متصفّح فيرفكس أو بيئة سطح المكتب، هذه كلّها برامج ضمن مساحة المستخدم.
- Kernel Space: مساحة النواة، ببساطة هي النواة ذاتها وكلّ ما يتعلق بها بصورة مباشرة. مثلًا إدارة عمليات الكتابة والقراءة من الملفّات بالإضافة لأنظمة الملفّات وغير ذلك.
خادوم العرض
خادوم العرض (Display Server) هو البرمجية المسؤولة عن أخذ الإدخال (Input) من المستخدم وعرض الإخراج (Output) له ضمن نظام التشغيل. مثلًا مدير العرض هو المسؤول عن تحريك الفأرة باتجاه معيّن عندما تحرّكها أنت على طاولتك، فمدير العرض هنا يأخذ إدخالًا (Input) من جهاز الفأرة الخاصّة بك ويحوّلها إلى إخراج (Output) تراه أنت يتحرّك على الشاشة على شكل مؤشّر الفأرة.
لأكثر من 30 عامًا كان Xorg هو خادوم العرض الافتراضي على أنظمة لينكس لكن هذا يتغيّر تدريجيًا، فقد ظهر بروتوكول (Protocol) جديد لخواديم العرض هو Wayland. وايلاند بحد ذاته ليس برمجية أو خادوم عرض بل هو معيار وطريقة تواصل، يأخذه المبرمجون ويفهمونه ثمّ يطبّقونه على بيئة سطح المكتب والتطبيقات المختلفة لجعلها متوافقة مع بروتوكول وايلاند. مثلًا GNOME Compositor وKWin Wayland Compositor هي خواديم عرض مختلفة تستعمل معيار وايلاند، لكن وايلاند بحد ذاته ليس شيئًا يمكنك تحميله مثلًا أو تثبيته.
ما تزال خواديم العرض المكتوبة بوايلاند قيد التطوير والتجريب ولم تنتهي بعد، والهدف من تطويرها بالأساس هو حلّ بعض المشكلات الأمنية والمشكلات المتعلقة بالأداء التي كانت موجودة في السابق على خادوم Xorg. لكن العملية تستغرق وقتًا فوايلاند ما يزال تحت التطوير منذ 2008م.
مدير العرض
مدير العرض (Display Manager) هو البرمجية المسؤولة عن أخذ عمليات تسجيل الدخول والخروج للمستخدمين إلى أنظمتهم، بالإضافة إلى تشغيل بيئة سطح المكتب المختلفة.
مدير العرض هو البرمجية التي تسألك مثلًا عن اسم المستخدم وكلمة المرور قبل تسجيل الدخول إلى سطح المكتب الخاصّ بك. بعض التوزيعات تستعمل مدير عرض GDM بينما غيرها يستعمل KDM.
هناك ربما 10-20 مدير عرض مختلف على أنظمة لينكس.
بيئة سطح المكتب
بيئة سطح المكتب هي مجموعة من المكوّنات الرسومية التي قيك