الفرق بين Linux و Unix - سرد تاريخي

من المفاهيم الخاطئة المنتشرة بكثرة بين الناس هي أن نظام linux مبني على نواة unix، لكن في الحقيقة هذا الكلام غير دقيق.

في مقال اليوم راح نطرح سرد تاريخي ﻷنظمة التشغيل عشان نعرف طبيعة العلاقة بين linux و unix.

أولا: حقبة ما قبل أنظمة التشغيل (1940-1950)

في هاي الفترة ما كانت الحواسيب تعتمد على نظام تشغيل بل كانت تعتمد على شخص يسمى المشغل operator كانت مهمته يقوم بإدارة الجهاز، أما البرامج كانت عبارة عن بطاقات فيها ثقوب (punch cards) تمثل كود البرنامج المراد تشغيله.

تشغيل البرنامج كان عن طريق تسليم البطاقات الخاصة فيك للمشغل عشان يعمللهم load في جهاز الحاسوب.

ثانيا: حقبة ظهور أنظمة التشغيل (1960s)

بدأ ظهور أنظمة تشغيل بعد تعاون مجموعة من الشركات ﻹنشاء نظام تشغيل من نوع time-sharing، قامت شركة MITو Bell Labsو General Electric بإنشاء نظام تشغيل اسمه Multics وكان نظام معقد جدا وover-engineered.

في عام 1969 خرجت شركة Bell Labs من الاتفاق مع باقي الشركات، فقام واحد من المطورين اسمه كين ثومسون Kenneth Thompson (نعم نفسه أحد المساهمين في تطوير لغة c) بإنشاء نظام مبسط شبيه بنظام Multics على جهاز "PDP-7"، وبما إنه بسيط قام واحد من أصدقائه بتسميته "Uniplexed Information and Computing Service" اختصارها UNICS اللي مع الوقت صارت تكتب وتنطق Unix، وهذا هو ظهور نظام الUnix.

ثالثا: الانتقال إلى C

إلى عام 1973 كانت كل أنظمة التشغيل مكتوبة بلغة التجميع Assembly وعشان هيك كان لازم تشتغل على معمارية architecture محددة من الأجهزة، لكن بعد ظهور لغة السي C قام كين و دينيس Dennis Ritchie بإعادة كتابة Unix بلغة السي، الأمر اللي خلاها تنتشر بشكل أوسع على جميع الأجهزة القادرة على ترجمة لغة السي بما يتناسب مع معماريتها.

في عام 1977، بسبب بعض المشاكل القانونية، شركة AT&T (Bell Labs) ما كانت قادرة توزع Unix كمنتج، بالتالي قامت بتقديمه للجامعات مجانا، فظهرت عنا مجموعة من الفروع المبنية على Unix منها:

  • - The Academic Branch (BSD)
  • - The Corporate Branch (System V) اللي لاحقا تم السماح ببيعه كمنتج تجاري من شركة AT&T
  • - Xenie وهي نسخة من Unix قامت بتطويرها شركة مايكروسوفت Microsoft

رابعا: ظهور حركة البرمجيات المجانية (1983-1991)

في عام 1983 قام شخص يدعى ريتشارد Richard Stallman بتأسيس حركة لنشر البرمجيات بشكل مجاني (The Free Software Movement)، وكان هدفه بناء نظام محاكي مجاني لUnix بسبب التكاليف العالية لشراء النظام من شركة AT&T (بعد ما تم السماح لها بنشر البرمجيات بشكل تجاري).

هذه الحركة معروفة باسم مشهور جدا وهو GNU، قام الأشخاص المساهمين في الحركة ببناء مجموعة من الأدوات للتمهيد لبناء نظام شبيه بUnix لكن كان ناقصهم عنصر واحد وهو النواة للنظام kernel.

في عام 1991 كان الطالب الفينلندي لينوس Linux Torvalds منزعج من الامكانيات المحدودة لنظام MINIX (نظام تعليمي بسيط جدا محاكي لنظام Unix) فقرر إنه يبدأ بتطوير النواة الخاصة فيه الشبيهة بUnix، وهنا بدأ العمل على ما يعرف باسم نواة النظام لينكس Linux Kernel واعتمد فيها على معايير عالمية لأنظمة التشغيل من IEEE تسمى POSIX standards.

هنا اكتمل طموح ريتشارد ووجد النواة اللي كان يبحث عنها، خصوصا أن لينوس استخدم أدوات GNU لتطوير نواة لينكس.


فيديو لريتشارد وهو يشرح كيف قام لينوس بإكمال المهمة

تم نشر لينكس تحت رخصة GNU وبالتالي اكتمل المطلوب:
GNU(tools) + Linux (Kernel) = GNU/Linux (complete OS)

هنا مربط الفرس (الجزء المهم): نظام لينكس هو نواة نظام مجاني يحاكي Unix وليس مبني على أي سطر من Unix إطلاقا.

  • على الهامش: شركة AT&T ما قدرت تحاكم لينوس على نظام لينكس ﻷنه فعليا لا يعتمد على أي جزء من نظام Unix الحقيقي

لهذا السبب ممكن نقول أنه لينكس عبارة عن نظام شبيه بيونيكس Unix-like وليس نظام مبني على يونيكس Unix-based.

الخلاصة

  • لينكس ليس مبني على يونكس إنما نسخة منه
  • لينكس وحده عبارة عن نواة وليس نظام تشغيل، أما نظام التشغيل هو خليط GNU/Linux
  • يونكس مدفوع أما لينكس مجاني

المراجع