نظام البرمجة المتعددة RC 4000

نظام البرمجة المتعددة RC 4000 (يُطلق عليه أيضًا اسم Monitor أو RC  4000 حسب المرجع) هو نظام تشغيل متوقف تم تطويره لجهاز الكمبيوتر من الجيل الثالث RC-4000 في عام 1969. [ 1 ] ولتوضيح الأمر، تستخدم هذه المقالة في الغالب مصطلح Monitor.

ملخص

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

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

استخدم نظام المراقبة نظامًا شبيهًا بالأنابيب للذاكرة المشتركة كأساس لاتصاله بين العمليات (IPC). تُنسخ البيانات المراد إرسالها من عملية إلى أخرى إلى مخزن بيانات فارغ في الذاكرة ، وعندما يكون البرنامج المُستقبِل جاهزًا، تُسترجع البيانات. ثم يُعاد المخزن إلى مجمع البيانات. تمتلك البرامج واجهة برمجة تطبيقات ( API ) بسيطة جدًا لتمرير البيانات، باستخدام مجموعة غير متزامنة من أربع طرق. تُرسل تطبيقات العميل البيانات باستخدام send messageويمكنها اختياريًا حظر التنفيذ باستخدام wait answer. تستخدم الخوادم مجموعة متطابقة من الاستدعاءات، wait messageو send answer. تجدر الإشارة إلى أن الرسائل تحتوي على "مسار إرجاع" ضمني لكل رسالة مُرسلة، مما يجعل دلالاتها أقرب إلى استدعاء إجراء عن بُعد من نظام Mach القائم كليًا على الإدخال/الإخراج (I/O).

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

كان تحديد الجدولة متروكًا بالكامل للبرامج، إن لزم الأمر (في ستينيات القرن الماضي، كانت ميزة تعدد المهام الحاسوبية موضع جدل). كان بإمكان مستخدم بدء جلسة في بيئة تعدد مهام استباقية ، بينما قد يبدأ مستخدم آخر في وضع المستخدم الواحد لتشغيل معالجة الدفعات بسرعة أكبر. ويمكن دعم الجدولة في الوقت الفعلي عن طريق إرسال رسائل إلى عملية مؤقتة لا تعود إلا في الوقت المناسب.

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

انظر أيضاً

مراجع

  1. "النووية · ملاحظات المحاضرة رقم 221" . yutingwang.gitbooks.io . تم ​​الاطلاع عليه بتاريخ 10 أبريل 2024 .