التطور التّقني الكبير في مجالات الحياة كافة حتّم على المهندسين تطوير أساليب حديثة لمواكبة متطلبات الحياة المتزايدة، حيث استثمر المهندسون الخبرات الرّياضية والتّقنية ثمّ قاموا بقولبتها لإنشاء القاعدة الأساسية في هندسة البرمجيات، وتوالى تباعًا تطويرها للوصول لبرمجياتٍ تتحكّم بعمل المعدات الفيزيائية وتنظم عملها بدقّةٍ وفقًا للخدمات التي يوفرها مصمّمو هذه البرمجيات للمستخدمين العاديين، وشملت كافة جوانب حياتنا اليومية إذ لا يخلو جهاز إلكتروني منها، والتي بدورها ساعدت في إدارة المعدات الحديثة المستخدمة في دراسة أعماق المحيطات وتضاريس الكواكب الأخرى، والمناطق التي لا يمكن الوصول لها من قبل الإنسان، والكثير من الخدمات الأخرى وتدعى هذه البرمجيات بأنظمة التشغيل؛ سواء الانظمة مفتوحة المصدر منها أو المقيّدة.
تعريف نظام التشغيل
مجموعةٌ من البرمجيات غير المرئية للمستخدم العادي، تقوم بإدارة المكونات الفيزيائية والتي تنفّذ كافّة المهام والخدمات، التي تمكّن المستخدم غير المختص بالبرمجيات من الاستفادة من خدمات الحاسب والأجهزة التّقنية الحديثة بسهولةٍ.
مفهوم الانظمة مفتوحة المصدر
في الانظمة مفتوحة المصدر، يمكن الوصول للكود البرمجي الأساسي للنّظام والتّعديل عليه من قبل أي مبرمجٍ دون وجود أي قيودٍ وشروطٍ، وبالتّالي بالإمكان معالجة الثغرات والحماية من الاختراق ، وتطوير هذه الأنظمة وتحسينها من قبل عددٍ أكبر من المبرمجين المختصين .
أمَا أنظمة التشغيل ذات المصادر المغلقة مثل نظام ويندوز، فيتم استبدال أو تطوير شيفرة النظام فيها فقط من قبل شركة Microsoft، ويتم عرض هذه الشيفرة على أعدادٍ محددةٍ من الزبائن كالشركات الكبرى، وبالمقابل، فإنّ الشيفرة الرئيسية لأنظمة التشغيل مفتوحة المصدر ليست فقط متاحة لأي شخصٍ ليقوم باستعراضها أو التعديل عليها، واستخدامها، ولكن أيضًا مشاركتها بشكلٍ يخضع لبنود ترخيص الانظمة مفتوحة المصدر كما في MIT وGNU Public Licence، وApache 2.0.
إنّ السّماح لأي شخصٍ باستعراض الشيفرة المصدرية له العديد من المزايا التي تتيح بالإضافة للمعرفة التقنية الكافية، إصلاح بعض المشاكل التي تظهر أثناء البحث العميق في الشيفرة المصدرية، وأيضًا يسمح استعراض الشيفرة المصدرية بتطوير أنظمة التشغيل مفتوحة المصدر لتصبح مقادةً من قبل أشخاصٍ في المجتمع أو لتكون تفاعليةً على الأقل، مع إضافة التغييرات المقترحة من قبل المستخدمين التّقنيين.
نواة لينكس (Linux)
إن صميم معظم الانظمة مفتوحة المصدر اليوم هو نواة لينكس (Linux Kernal)؛ حيث أن Linux يشكل نواةً لأنظمة التشغيل هذه، لتتفاعل مع العتاد الصلب للحواسيب، وقد تم تطوير هذه النواة من قبل لينوس تورڤالدس (Linus Torvalds) عام 1991.
نواة Linux تزوّد بالوظائف الأساسية التي يحتاجها أي نظام تشغيل OS، إذ تتحكم بكيفية معالجة البيانات وتوزّعها في الذاكرة، وأيضًا كيفية معالجة النّظام للملفات، وكيفية تفاعله مع الأجهزة الموصولة إلى الحاسوب، بالإضافة لمهامٍ أساسيةٍ أخرى.
بعدئذ قام صنّاع أنظمة التشغيل ببناء أدواتٍ تم إضافتها لنواة لينكس (Linux kernal) لإنشاء نظام تشغيلٍ، وهذه الأدوات تبدأ من أنظمة النوافذ التي تشغل رسوميات سطح المكتب، وصولًا للأنظمة التي تدير الخدمات التي تشغّل في الخلفية، وإنّ التطوير والتحسين في نواة Linux يستمر بإشراف Torvalds نفسه مع مجموعةٍ من العاملين والمتطوّعين، وقد شهدنا مؤخّرًا الإصدار 5.0 من نواة لينكس يجد طريقه لأجهزة اليوم.
أُصدرت استنادًا إلى تلك النواة العديد من الانظمة مفتوحة المصدر أو كما تسمّى بالتوزيعات (Distributions أو Distros)، ولعلّ أشهرها:
- Ubuntu Linux Mint وElementary OS: يتميزان بالبساطة وسهولة الاستخدام.
- Tails: تتميز بالحماية العالية من سرقة البيانات والاختراق.
- Debian وGentoo: اللذان يوفّران أدوات وميزات عديدة هامة للخبراء والتقنيين.
- Red Hat: المستخدم في أغلب أنظمة الشركات الكبرى.
تحوي العديد من التّوزيعات واجهات ونوافذ رسومية تشابه نظام Windows، وأخرى تشابه واجهات macOS، ومنها توزيعات لا تحوي واجهاتٍ رسوميةً، ويتم التّحكم بها بواسطة سطر الأوامر بالأساس (Command Line).
نظام FreeBSD
نظامٌ مفتوح المصدر، أُصدر عام 1993، يضم نواة نظام تشغيل، ويقدم ميزاتٍ متقدمةً في السرعة والأداء الآمن وإدارة الذاكرة بكفاءةٍ عاليةٍ للحفاظ على زمن استجابة جيد لآلاف عمليات المستخدم المتزامنة، ويوفر خدمات شبكة عديدة من خدمات الويب والبريد الإلكتروني وحتى التخزين عبر الشبكة، ويستخدم في العديد من الأجهزة مثل الراوتر والسيرفرات، والكثير من الأنظمة المدمجة، ويتميز بقدرته على العمل لسنواتٍ دون إعادة إقلاعه.
يجدر بالذكر أنّ إصدار نظام BSD الأصلي الأوّل كان عام 1977، كاختصارٍ لاسم Berkeley Software Distribution، وهو عبارةٌ عن نظام تشغيلٍ شبيه بنظام Unix، تمّ تطويره من قبل مجموعة أبحاث CSRG لجامعة كاليفورنيا في بيركلي.
أنظمة التّشغيل المقيدة
بخلاف الانظمة مفتوحة المصدر فإنّ هذه تقوم بتقييد صلاحيات المستخدم العادي والمبرمج، حيث لا يمكن التعديل أو الاطّلاع على البرمجيات المكتوب بها، وإنّ استخدام الخدمات والميّزات يكون فقط وفق شروط الشركة المصنعة. هذا التقييد يمكّن الشركة المالكة فقط من معرفة وحلّ أغلب المشاكل والأخطاء، وإضافة التّحديثات وحماية حقوق الشركة المصنّعة، وحتى التّحكم بالشركات المستخدمة لهذه الأنظمة.
مساوئ الانظمة مفتوحة المصدر
رغم التّنوع الكبير في استخدامات وميزات أنظمة التشغيل المفتوحة المصدر وتجددها باستمرارٍ، إلا أنّ من الصعب تصميم تطبيقات وتعاريف تتوافق مع هذه الأنظمة بشكلٍ مستمرٍ، وتحتاج الكثير من التدريب في استخدام التحديثات، وقد لا تكون الميّزات والخدمات المضافة إيجابيةً دومًا؛ حيث يمكن تصميم أنظمةٍ لغرض التجسس والحصول على معلوماتٍ هامّةٍ، أو قد يكون النّظام المطوّر أقل كفاءةً وفعاليّةً في استخدام الموارد (كالطاقة أو التخزين، وما إلى ذلك) من النظام السابق