كيف أعاد يونكس و C كتابة "بعضهما البعض" - وفي النهاية - قواعد الحوسبة!

Fettahpro
كيف أعاد يونكس و C كتابة "بعضهما البعض" - وفي النهاية - قواعد الحوسبة!

المقدمة: حلم "المالتيكس" وانهياره

كان ذلك في عام 1964، وكانت البشرية تقف على أعتاب عصر الكمبيوتر. وكانت الحواسيب الضخمة ذات الأشرطة الدوارة والأضواء الوامضة تهيمن على المشهد، وكانت الحوسبة لا تزال تتسم بالعزلة ــ كل جهاز يشكل صومعة منفصلة عن العالم. ولكن في معهد ماساتشوستس للتكنولوجيا، ومختبرات بيل، وجنرال إلكتريك، سعت فكرة رائدة أطلق عليها اسم " مالتيكس" (خدمة المعلومات والحوسبة المتعددة الإرسال) إلى كسر هذا القالب.

كانت شركة Multics بمثابة رؤية للتطور التعاوني . فقد تخيل مبتكروها نظامًا موحدًا حيث يمكن لمستخدمين متعددين التفاعل بسلاسة مع نفس الجهاز القوي، ومشاركة البرامج والملفات وقوة المعالجة. وكانت رائدة في الحوسبة السحابية اليوم وجسدت نفس المبادئ التي تجعل النظم البيئية تزدهر: الترابط، والقدرة على التكيف، والاستدامة.

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

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

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

الفصل الأول: من رماد Multics

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

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

الحزب الديمقراطي الشعبي-7: كنز متخفي

في ركن مغبر من مختبرات بيل كان يوجد جهاز PDP-7 ، وهو جهاز كمبيوتر صغير ضعيف الأداء اعتبره الكثيرون قديمًا. ولكن بالنسبة لتومسون، لم يكن جهاز PDP-7 مجرد قطعة أثرية - بل كان بمثابة بذرة تنتظر الإنبات. وكانت قيوده، بعيدًا عن كونها مثبطة للعزيمة، بمثابة هدية. كان تومسون يعتقد أن القيود تجبر على وضوح الفكر ، تمامًا كما تدفع ضغوط الطبيعة الكائنات الحية إلى التكيف بطرق مبتكرة.

لم تظهر الشرارة الأولى لنظام التشغيل يونكس كنظام تشغيل مكتمل. بل بدأت كلعبة . كتب تومسون برنامجًا يسمى Space Travel ، وهو محاكاة للملاحة السماوية، ليتم تشغيله على PDP-7. لم يكن هذا مجرد تحدٍ تقني - بل كانت فرصة لبدء بناء الأساس . لدعم اللعبة، ابتكر تومسون أدوات بدائية: نظام ملفات، وأدوات مساعدة، وواجهة برمجة تطبيقات. في هذه البدايات المتواضعة، بدأ الحمض النووي لنظام يونكس في التشكل.

فلسفة يونكس: نظام حي

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

ومن هذه الأفكار، ولدت فلسفة يونكس :

  1. افعل شيئًا واحدًا جيدًا : يجب أن تكون البرامج صغيرة ومُركزة ومتميزة في مهمتها الوحيدة. وهذا يعكس تصميم الطبيعة للأعضاء والأنظمة المتخصصة.
  2. الوحدات النمطية : ينبغي للبرامج أن تعمل معًا مثل كتل البناء، حيث تغذي مخرجات أحدها مدخلات أخرى. وهذا يعكس الترابط بين النظم البيئية.
  3. الهيكل الهرمي : يجب تنظيم البيانات والعمليات بشكل منطقي، مثل الهياكل المتفرعة الموجودة في الأشجار والأنهار والشبكات.
  4. القدرة على التكيف : يجب أن يمكّن يونكس المستخدمين من التجربة والتوسع، مما يعزز النظام الذي يمكن أن يتطور بشكل عضوي.

لم يكن يونكس مصممًا ليكون مثاليًا . بل كان مصممًا للنمو ، تمامًا كما تتطور الكائنات الحية من خلال التغذية الراجعة والتكرار. لم يكن مجرد برنامج - بل كان نظامًا حيًا .

"إن تعقيد الطبيعة ينبع من البساطة، ولكن بقاءها يعتمد على القدرة على التكيف. وعلى نفس المنوال، يتعين على أنظمتنا أن تتطور حتى تنمو وتزدهر وتدوم."

الفصل الثاني: الفجوة الحكية - من التجميع إلى B وما بعده

كانت النسخة الأولى من يونكس، المكتوبة بلغة التجميع PDP-7 ، بمثابة دليل على المفهوم . لقد نجحت، لكنها لم تكن مستدامة . لقد خدمت لغة التجميع غرضها في الأيام الأولى من يونكس، حيث وفرت التحكم منخفض المستوى اللازم للتفاعل مع الأجهزة. لكن قيودها سرعان ما أصبحت فجوة مزعجة - مشكلة تتطلب حلاً.

هشاشة التجمع

لقد منحت لغة التجميع نظام يونكس نجاحه المبكر، ولكنها ربطت النظام أيضًا بإحكام بأجهزة PDP-7. وقد أصبح هذا يشكل عقبة أساسية أمام نمو يونكس:

  1. الاعتماد على الأجهزة : ربط التجميع بين نظام Unix وPDP-7، مما يجعل من المستحيل تقريبًا نقل النظام إلى أجهزة جديدة دون إعادة كتابة أجزاء كبيرة من التعليمات البرمجية.
  2. مشكلات التوسع : مع تزايد تعقيد نظام التشغيل Unix، أصبحت عملية صيانة قاعدة بيانات التجميع وتوسيعها أكثر عرضة للأخطاء وتتطلب الكثير من العمالة.
  3. الافتقار إلى التجريد : لم تقدم لغة التجميع أي أدوات لإدارة التعقيد، مما ترك المطورين يتعاملون مع تفاصيل الأجهزة الخام.

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

الانتقال إلى ب

كانت المحاولة الأولى التي قام بها كين تومسون لحل هذه المشكلة هي استخدام لغة البرمجة B ، وهي لغة برمجة بسيطة مشتقة من BCPL. وقد وفرت لغة B التجريد والبساطة، مما جعل كتابة أدوات يونكس أسهل. ولكن كانت لها قيود:

  • لا يوجد أنواع بيانات : يفتقر B إلى البيانات المنظمة، مما يجعله غير مناسب للأنظمة المعقدة.
  • الأداء الضعيف : أدى عدم كفاءة B إلى إعاقة قدرة Unix على التوسع.
  • قابلية التوسع المحدودة : على الرغم من أن بساطة B كانت مفيدة، إلا أنها لم تكن كافية للتعامل مع التعقيد المتزايد لنظام التشغيل Unix.

كان ب بمثابة كائن انتقالي في العملية التطورية: خطوة ضرورية إلى الأمام، ولكنها ليست الحل النهائي.

"إن القوة الحقيقية للأداة لا تكمن في ما يمكنها فعله اليوم، بل في كيفية تمكين أنظمة الغد."

الفصل الثالث: ظهور C

رؤية دينيس ريتشي: لغة التطور

بعد أن شعر بالإحباط من القيود التي تفرضها لغة B، قرر دينيس ريتشي، الذي كان دائمًا ما يحل المشكلات، أن يخوض تحدي إنشاء لغة جديدة. وبحلول عام 1972، ومن خلال سلسلة من التجارب والتحسينات، قدم ريتشي لغة C ، وهي اللغة التي أصبحت القطعة المفقودة من اللغز.

جمعت C أفضل ما في العالمين:

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

لم تكن لغة C مجرد لغة - بل كانت أداة للتطور ، مما مكن يونكس من التحرر من قيود التجميع.

قفزة من الخيال

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

لم يكن هذا القرار فنيًا فحسب، بل كان فلسفيًا أيضًا. لم تكن يونكس وسي أدوات منفصلة؛ بل كانتا جزءًا من عملية تحولية مشتركة ، تشكلان وتعززان بعضهما البعض مع نموهما.

سوف تظهر التأثيرات الكاملة لهذا القرار إلى النور عندما دخل يونكس مرحلته التالية: إعادة الكتابة بلغة C وتحقيق Autopoiesis .

نقطة التحول: قرار جريء

بحلول عام 1973، اتخذ تومسون وريتشي قرارًا جريئًا ومُحولًا: إعادة كتابة يونكس بالكامل بلغة سي. لم يكن هذا مجرد خيار تقني - بل كان إعلانًا عن النية. من خلال تضمين يونكس في سي ودمج سي في يونكس، سعوا إلى إنشاء نظام مستدام ذاتيًا - نظام يمكنه التطور جنبًا إلى جنب مع التكنولوجيا المتغيرة.

كان قرار إعادة كتابة يونكس بمثابة بداية فصل جديد، فصل يتميز بالتحول المشترك . حيث كان يونكس ليشكل لغة سي، وكانت لغة سي بدورها لتعمل على تحويل يونكس.

"التطور لا يتعلق بالبقاء فقط؛ بل يتعلق بالتحول - حيث يقوم الخالق والخلق بتشكيل وإعادة تشكيل بعضهما البعض في رقصة من النمو المتبادل."

الفصل الرابع: تحول يونكس - إعادة الكتابة بلغة سي

كانت إعادة كتابة يونكس بلغة سي مهمة ضخمة، ولكنها ولدت من الضرورة. فقد ربطت لغة التجميع يونكس بـ PDP-11، مما حد من قدرته على التكيف. ومع ذلك، قدمت لغة سي مخرجًا - وسيلة لفصل يونكس عن أجهزته وجعله نظامًا محمولًا حقًا.

عملية إعادة الكتابة

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

تحسين بنية يونكس

لم يكن التحول إلى لغة C مجرد تغيير للغة، بل كان فرصة لإعادة التفكير في تصميم يونكس. وباستخدام لغة C، قام الفريق بتحسين بنية يونكس، مما جعلها:

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

تمكين التعاون

لقد جعلت سهولة قراءة لغة C نظام يونكس متاحًا لمجموعة أوسع من المطورين. وللمرة الأولى، تمكن المساهمون خارج مختبرات بيل من فهم يونكس وتوسيعه وتكييفه، مما أدى إلى تعزيز ثقافة الإبداع والتجريب.

تحقيق التنظيم الذاتي: يونكس وسي كنظام مكتفٍ ذاتيًا

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

كيف حوّلت لغة C يونكس

  1. قابلية النقل : لم يعد نظام التشغيل يونكس مرتبطًا بجهاز PDP-11. فقد أصبح بإمكانه الآن العمل على أي منصة أجهزة تقريبًا، مما يضمن بقائه في ظل المشهد التكنولوجي المتغير بسرعة.
  2. إمكانية الصيانة : التصميم المعياري الذي مكّنته لغة C جعل نظام Unix أسهل في التوسع والتكيف وتصحيح الأخطاء.

كيف شكل يونكس لغة C

  1. أرض الاختبار : مع نمو نظام التشغيل Unix، تم دفع لغة C للتعامل مع تحديات العالم الحقيقي، وتحسين الميزات مثل المؤشرات والتجميع المعياري.
  2. حلقة التغذية الراجعة : إن عملية إعادة كتابة النواة خلقت حلقة حميدة - حيث قاد يونكس التحسينات في لغة C، والتي بدورها جعلت يونكس أكثر قوة.

كان هذا التطور المشترك مثالاً مثاليًا للتحول المشترك ، حيث يتطور نظامان جنبًا إلى جنب، ويعزز كل منهما الآخر.

الإرث المستدام ذاتيا

لم يتطور نظاما التشغيل يونكس وسي فحسب، بل ازدهرا بفضل بعضهما البعض. فقد شكلا معًا نظامًا مكتفيًا ذاتيًا ، وقادرًا على التكيف مع البيئات والتحديات الجديدة. وقد ضمنت هذه القدرة على التكيف طول عمرهما، وأصبحت مبادئهما ــ الوحدات النمطية، والقدرة على النقل، والبساطة ــ الأساس للحوسبة الحديثة.

كما قيل، لم تكن إعادة كتابة يونكس مجرد إنجاز تقني؛ بل كانت إنجازًا فلسفيًا. فقد أثبتت أن أفضل الأنظمة ليست ثابتة ــ بل هي كيانات حية ومتطورة، تتشكل بفعل بيئتها والأدوات التي أنشأتها.

"إن النظام الذي ينمو هو نظام حي. والبساطة والقدرة على التكيف ليست مجرد مبادئ للتصميم الجيد، بل هي جوهر البقاء."

الخاتمة: التنظيم الذاتي والمستقبل

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

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

الاتصال الشخصي - شيف-شاكتي: رقصة الإبداع المشترك

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

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

إرث التحول المشترك

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

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

يذكرنا يونكس وسي بحقيقة عميقة: إن أعظم الابتكارات لا يتم بناؤها - بل تتطور . ومثل التفاعل بين شيف وشاكتي ، والإبداع والطاقة، فإن إرثهما الدائم يكمن في قدرتهما على إلهام أنظمة مرنة وقابلة للتكيف وحيوية. إن قصتهما ليست مجرد إرث الحوسبة - بل هي استعارة للحياة نفسها!

المساعدة: السعر: التأكيد على التغيير: |
نتيجة رائعة للصحافة الآن || 3.10||

[في البداية، قال الخالق، بعد أن خلق البشر مع الياجنا، "بواسطة هذه الياجنا سوف تتكاثرون". أتمنى أن تحقق هذه الياجنا جميع رغباتكم.] — بهاجافاد جيتا 3.10

إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.