مقدمة
في الاستخدام الشائع، “لينكس” يشير في كثير من الأحيان إلى مجموعة من توزيعات نظام التشغيل المبنية حول نواة لينكس. في أصل الأمر، تشير “لينكس” فقط إلى وجود النواة ذاتها. لبناء نظام تشغيل كامل، تتضمن توزيعات لينكس غالبًا أدوات ومكتبات من مشروع غنو ومصادر أخرى. لقد بدأ المزيد من المطورين في استخدام لينكس مؤخرًا لبناء وتشغيل تطبيقات الجوال. كما لعب دورًا رئيسيًا في تطوير الأجهزة التي تكلف ثمنها بشكل معقول مثل Chromebooks، التي تعمل بنظم تشغيل على النواة. في بيئات الحوسبة السحابية والخوادم بشكل عام، لينكس هو خيار شائع لبعض الأسباب العملية:
- تبقى توزيعاته حديثة ومدعومة من قبل مجتمعات المطورين الأخرى.
- يمكنه تشغيل مجموعة واسعة من الأجهزة وسيقوم بالتثبيت جنبًا إلى جنب مع الأنظمة القائمة مسبقًا (صفة مفيدة في بيئات التطوير المحلية).
- يدعم التثبيت المركزي للبرمجيات من المستودعات الموجودة مسبقًا.
- متطلبات موارده منخفضة.
- غالبًا ما يكون في ذهن المطورين عندما يقومون ببناء بيئات تطبيقات وأدوات للخوادم، مما يؤدي إلى مستويات عالية من التوافق.
- يحافظ على التعديلات اللازمة لسلوكيات نظام التشغيل.
كما يعود أصول لينكس إلى حركة البرمجيات الحرة ومفتوحة المصدر، ونتيجة لذلك يختار بعض المطورين استخدامه لتوازن بين الأسباب الأخلاقية والعملية.
- بالنسبة لبعض المطورين، استخدام لينكس يمثل التزامًا بالوصول وحرية التعبير.
- مجتمع لينكس أيضًا جاذبية لبعض المطورين: عندما يواجهون أسئلة، يمكنهم استشارة الموارد التي تنتجها هذه المجتمع أو التواصل مباشرة مع أحد الأشخاص الذين يقومون بالصيانة بنشاط.
لفهم دور لينكس داخل مجتمع المطورين (وخارجه)، ستقوم هذه المقالة بشرح تاريخ موجز للينكس من خلال يونكس، وستناقش بعض توزيعات لينكس الشهيرة.
الجذور في يونكس
لينكس له جذوره في يونكس ومالتيكس، مشروعين كانت لديهما نفس الهدف من تطوير نظام تشغيل قوي للمستخدمين المتعددين.
بدايات يونكس
نشأ يونكس من مشروع مالتيكس في مختبرات بيل الخاصة بأبحاث علوم الكمبيوتر. كان المطورون الذين عملوا على مالتيكس في مختبرات بيل وفي أماكن أخرى مهتمين ببناء نظام تشغيل متعدد المستخدمين يحتوي على تخزين مستوى واحد، وربط ديناميكي (حيث يمكن لعملية تشغيل تطلب إضافة قطاع آخر إلى مساحتها في العنوان، مما يمكنها من تنفيذ كود ذلك القطاع)، ونظام ملفات هرمي.
توقفت شركة بيل لابز عن تمويل مشروع مالتكس في عام 1969، لكن مجموعة من الباحثين، بما في ذلك كين طومسون ودينيس ريتشي، استمروا في العمل مع مبادئ النظام. في عامي 1972-3، اتخذوا قرارًا بإعادة كتابة النظام بلغة البرمجة C، مما جعل يونيكس قابلاً للنقل بشكل فريد: على عكس الأنظمة التشغيلية المعاصرة الأخرى، كان بإمكانها الانتقال من وإلى الأجهزة الخاصة بها والبقاء عليها.
استمر البحث والتطوير في بيل لابز (وبعد ذلك AT&T)، مع تطوير مختبرات نظام يونيكس لنسخ من يونيكس، بالشراكة مع سان مايكروسيستمز، التي ستتبناها بشكل واسع بائعي يونيكس التجاريين. في الوقت نفسه، استمر البحث في الأوساط الأكاديمية، وخاصة مجموعة أبحاث نظم الحواسيب في جامعة كاليفورنيا بيركلي. أنتجت هذه المجموعة توزيعة البرمجيات بيركلي (BSD)، التي ألهمت مجموعة من أنظمة التشغيل، العديد منها لا يزال قيد الاستخدام حتى اليوم. تعتبر توزيعتا BSD التاريخيتان الملحوظتان هما نيكستستيب، نظام التشغيل الذي قامت نيكست بتطويره والذي أصبح أساسًا لنظام macOS، بين منتجات أخرى، وMINIX، وهو نظام تشغيل تعليمي شكل قاعدة مقارنة للينوس تورفالدز أثناء تطويره لينكس.
الميزات الرئيسية لنظام يونيكس
يعتمد يونيكس على مبادئ الوضوح والنقلية والتزامن.
- الوضوح: يسمح التصميم القابل للتعديل لـ Unix بتشغيل الوظائف بطريقة محددة ومحدودة. نظام الملفات فيه موحد وتسلسلي، مما يبسط عملية تلاعب البيانات. على عكس بعض سلفه، ينفذ Unix المئات (وليس الآلاف) من استدعاءات النظام، حيث تم تصميم كل منها ليكون واضحًا ومحددًا في هدفه.
- القابلية للنقل: من خلال كتابة Unix بلغة C، وضع فريق في Bell Labs Unix للاستخدام والتبني على نطاق واسع. تم تصميم C للوصول إلى الذاكرة على مستوى منخفض، والحد الأدنى من الدعم الزمني، والعلاقة الفعالة بين اللغة وتعليمات الجهاز. يعني الاعتماد على C أن Unix قابل للتكيف وسهل التشغيل على مجموعة متنوعة من الأجهزة.
- التزامن: النواة في Unix مصممة لتحقيق هدف (المشترك مع مشروع Multics) في الحفاظ على عدة مستخدمين وسياقات عمل. يظل مساحة النواة متميزة عن مساحة المستخدم في Unix، مما يسمح لتشغيل التطبيقات المتعددة في نفس الوقت.
تطور لينكس
أثارت Unix أسئلة مهمة للمطورين، ولكنها لا تزال مملوكة في نسخها الأولى. لذا، فإن الفصل التالي من تاريخها هو قصة كيف عمل المطورون ضمنها وضدها لإنشاء بدائل مجانية ومفتوحة المصدر.
التجارب مفتوحة المصدر
كان ريتشارد ستالمان شخصية مركزية بين المطورين الذين ألهموا لإنشاء بدائل غير مملوكة لشركات Unix. بينما كان يعمل في مختبر الذكاء الاصطناعي في MIT ، بدأ العمل في مشروع GNU (متكرر لـ “غنو ليس Unix!”) ، وترك المختبر في عام 1984 ليتمكن من توزيع مكونات GNU كبرمجيات حرة. أصبحت نواة GNU المعروفة باسم GNU HURD محوراً لمؤسسة البرمجيات الحرة (FSF) ، التي تأسست في عام 1985 وترأسها حالياً ستالمان.
في الوقت نفسه ، كان مطور آخر يعمل على بديل مجاني لنظام Unix: الطالب الفنلندي لينوس تورفالدز. بعد أن شعر بالإحباط من التراخيص لنظام MINIX ، أعلن تورفالدز لمجموعة مستخدمي MINIX في 25 أغسطس 1991 أنه يعمل على نظام تشغيل خاص به ، الذي يشبه نظام MINIX. على الرغم من تطويره في البداية على MINIX باستخدام مترجم C من GNU ، إلا أن نواة Linux أصبحت سريعًا مشروعًا فريدًا مع مجموعة من المطورين الذين أطلقوا الإصدار 1.0 من النواة مع تورفالدز في عام 1994.
تستخدم تورفالدز رمز غنو، بما في ذلك مترجم C غنو، مع نواةه، ومن المتبقي صحيحًا أن العديد من توزيعات لينكس تعتمد على مكونات غنو. حثَّ ستالمان على توسيع مصطلح “لينكس” إلى “غنو/لينكس”، حيث يُجادل بأن ذلك سيشمل دور مشروع غنو في تطوير لينكس والمبادئ الأساسية التي شجعت على مشروع غنو ونواة لينكس. اليوم، يُستخدم “لينكس” غالبًا للإشارة إلى وجود نواة لينكس وعناصر غنو. في الوقت نفسه، تستخدم أنظمة مضمنة على العديد من الأجهزة المحمولة والهواتف الذكية غالبًا نواة لينكس مع عدد قليل إلى لا توجد مكونات غنو.
ملامح رئيسية لينكس
على الرغم من أن نواة لينكس استمدت العديد من الأهداف والخصائص من يونكس، إلا أنها تختلف عن النظام السابق في النقاط التالية:
- المكون الأساسي لها هو النواة، التي تم تطويرها بشكل مستقل عن مكونات أخرى للنظام التشغيل. وهذا يعني أن لينكس يقترض عناصر من مصادر متنوعة (مثل غنو) لتشكيل نظام تشغيل كامل.
- هو حر ومفتوح المصدر. يتم صيانته بواسطة مجتمع من المطورين، ويتم ترخيص النواة بموجب رخصة غنو العامة (فرع من عمل FSF على مشروع غنو)، ويمكن تنزيلها وتعديلها. تنص رخصة البرمجيات الأصلية على أن العمل المشتق يجب أن يحتفظ بشروط الترخيص للبرنامج الأصلي.
- لديه نواة مونوليثية، مشابهة لنظام يونكس، ولكنه يمكنه تحميل وتفريغ الشفرة النواة بشكل ديناميكي حسب الطلب.
- يدعم التعدد المتناظر للمعالج (SMP)، على عكس تنفيذات نظام يونكس التقليدية. وهذا يعني أن نظام التشغيل الواحد يمكنه الوصول إلى عدة معالجات، التي تشترك في ذاكرة رئيسية ووصول إلى جميع أجهزة الإدخال/الإخراج.
- نواة النظام قابلة للمقاطعة، وهذا أمر مختلف عن نظام يونكس. وهذا يعني أن جدولة المهمات يمكنها فرض تبديل سياق على برنامج التشغيل أو جزء آخر من النواة أثناء تنفيذها.
- نواة النظام لا تميز بين الخيوط والعمليات العادية.
- يشمل واجهة سطر الأوامر (CLI) ويمكن أن يشمل أيضًا واجهة المستخدم الرسومية (GUI).
توزيعات Linux الشهيرة
يقوم المطورون بصيانة العديد من توزيعات Linux الشهيرة اليوم. ومن بين أقدم هذه التوزيعات هو Debian، وهو توزيع مجاني ومفتوح المصدر يحتوي على 50,000 حزمة برمجية. وقد ألهم Debian توزيعاً شهيراً آخر يدعى Ubuntu، والذي يتم تمويله من قبل Canonical Ltd. يستخدم Ubuntu تنسيق حزمة Debian deb وأدوات إدارة الحزم، ويقوم مطورو Ubuntu بإرسال التغييرات مرة أخرى إلى Debian.
A similar relationship exists between Red Hat, Fedora, and CentOS. Red Hat created a Linux distribution in 1993, and ten years later split its efforts into Red Hat Enterprise Linux and Fedora, a community-based operating system that utilizes the Linux kernel and elements from the GNU Project. Red Hat also has a relationship with the CentOS Project, another popular Linux distribution for web servers. This relationship does not include paid maintenance, however. Like Debian, CentOS is maintained by a community of developers.
الاستنتاج
في هذا المقال، قمنا بتغطية جذور Linux في Unix وبعض ميزاته التعريفية. إذا كنت مهتمًا بمعرفة المزيد حول تاريخ Linux ومتغيرات Unix (بما في ذلك FreeBSD)، فقد يكون الخطوة الجيدة هي سلسلة FreeBSD لدينا. خيار آخر قد يكون النظر في سلسلة مقدمة لبدء استخدام Linux لدينا. يمكنك أيضًا التحقق من هذا مقدمة حول تخطيط النظام الملفي في Linux، هذا نقاش حول كيفية استخدام find
و locate
للبحث عن ملفات على خادم VPS Linux، أو هذا مقدمة للتعبيرات العادية على سطر الأوامر.
Source:
https://www.digitalocean.com/community/tutorials/brief-history-of-linux