النواة الخارجية
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( سبتمبر 2016 ) |

Exokernel هو نواة نظام تشغيل تم تطويرها بواسطة مجموعة أنظمة التشغيل المتوازية والموزعة التابعة لمعهد ماساتشوستس للتكنولوجيا ، [1] وهي أيضًا فئة من أنظمة التشغيل المماثلة.
تقدم أنظمة التشغيل عمومًا موارد الأجهزة للتطبيقات من خلال تجريدات عالية المستوى مثل أنظمة الملفات (الافتراضية). تكمن الفكرة وراء النوى الخارجية في فرض أقل عدد ممكن من التجريدات على مطوري التطبيقات، مما يمكنهم من اتخاذ أكبر عدد ممكن من القرارات حول تجريدات الأجهزة. [2] النوى الخارجية صغيرة، حيث تقتصر الوظيفة على ضمان الحماية وإرسال الموارد بشكل متعدد ، وهو أبسط بكثير من تنفيذ النوى الصغيرة التقليدية لتمرير الرسائل وتنفيذ النوى المتجانسة للتجريدات عالية المستوى.
تُسمى التجريدات المطبقة بأنظمة تشغيل المكتبات؛ وقد تطلب عناوين ذاكرة محددة، أو كتل أقراص، وما إلى ذلك. يضمن النواة فقط أن المورد المطلوب مجاني، ويُسمح للتطبيق بالوصول إليه. يتيح هذا الوصول منخفض المستوى للأجهزة للمبرمج تنفيذ تجريدات مخصصة، وحذف التجريدات غير الضرورية، غالبًا لتحسين أداء البرنامج. كما يسمح للمبرمجين باختيار مستوى التجريد الذي يريدونه، مرتفعًا أو منخفضًا.
يمكن النظر إلى Exokernels باعتبارها تطبيقًا لمبدأ النهاية إلى النهاية على أنظمة التشغيل، حيث إنها لا تجبر برنامج التطبيق على وضع تجريداته فوق تجريدات أخرى تم تصميمها مع مراعاة متطلبات مختلفة. على سبيل المثال، في مشروع MIT Exokernel، يخزن خادم الويب Cheetah حزم بروتوكول الإنترنت المنسقة مسبقًا على القرص، وتوفر النواة وصولاً آمنًا إلى القرص من خلال منع القراءة والكتابة غير المصرح بها، ولكن كيفية تجريد القرص متروكة للتطبيق أو المكتبات التي يستخدمها التطبيق.
تحفيز
تقليديًا، سعى مصممو النواة إلى جعل موارد الأجهزة الفردية غير مرئية لبرامج التطبيق من خلال مطالبة البرامج بالتفاعل مع الأجهزة عبر نموذج تجريد معين. تتضمن هذه النماذج أنظمة الملفات لتخزين الأقراص، ومساحات العناوين الافتراضية للذاكرة، وجداول إدارة المهام، والمنافذ للاتصالات الشبكية. تجعل هذه التجريدات للأجهزة من الأسهل كتابة البرامج بشكل عام، لكنها تحد من الأداء وتخنق التجريب في التجريدات الجديدة. قد يحتاج التطبيق الموجه نحو الأمان إلى نظام ملفات لا يترك بيانات قديمة على القرص، بينما قد يحتاج التطبيق الموجه نحو الموثوقية إلى نظام ملفات يحتفظ بهذه البيانات للتعافي من الفشل.
أحد الخيارات هو إزالة النواة تمامًا وبرمجة الجهاز مباشرةً، ولكن بعد ذلك سيتم تخصيص الجهاز بالكامل للتطبيق الذي تتم كتابته (وعلى العكس من ذلك، سيتم تخصيص قاعدة بيانات التطبيق بالكامل لهذا الجهاز). إن مفهوم النواة الخارجية هو حل وسط: السماح للنواة بتخصيص الموارد المادية الأساسية للجهاز (مثل كتل القرص وصفحات الذاكرة ووقت المعالج) لبرامج تطبيقات متعددة، والسماح لكل برنامج بتحديد ما يجب فعله بهذه الموارد. يمكن للبرنامج بعد ذلك الارتباط بمكتبة دعم تنفذ التجريدات التي يحتاجها (أو يمكنه تنفيذ تجريداته الخاصة).
نوى خارجية من معهد ماساتشوستس للتكنولوجيا
قام معهد ماساتشوستس للتكنولوجيا بتطوير نظامين تشغيليين يعتمدان على النواة الخارجية، باستخدام نواتين: Aegis، وهو دليل على المفهوم مع دعم محدود للتخزين، وXOK، الذي طبق مفهوم النواة الخارجية بشكل أكثر شمولاً.
إن إحدى الأفكار الأساسية لنظام MIT exokernel هي أن نظام التشغيل يجب أن يعمل كجهاز تنفيذي للبرامج الصغيرة التي يوفرها برنامج التطبيق، والتي تقيدها فقط المتطلبات التي تنص على أن exokernel يجب أن تكون قادرة على ضمان استخدام هذه البرامج للأجهزة بأمان.
تصميم
تدير نواة MIT الخارجية موارد الأجهزة على النحو التالي:
- المعالج
- تمثل النواة موارد المعالج كخط زمني يمكن للبرامج من خلاله تخصيص فترات زمنية. يمكن للبرنامج التنازل عن بقية شريحة الوقت الخاصة به لبرنامج آخر معين. تقوم النواة بإخطار البرامج بأحداث المعالج، مثل المقاطعات ، والاستثناءات المادية ، وبداية أو نهاية شريحة الوقت. إذا استغرق البرنامج وقتًا طويلاً للتعامل مع حدث ما، فستعاقبه النواة على تخصيصات شريحة الوقت اللاحقة؛ في الحالات القصوى، يمكن للنواة إلغاء البرنامج.
- ذاكرة
- يخصص النواة صفحات الذاكرة الفعلية للبرامج ويتحكم في مخزن الترجمة . يمكن لبرنامج مشاركة صفحة مع برنامج آخر عن طريق إرسال إمكانية الوصول إلى تلك الصفحة إليه. تضمن النواة أن البرامج تصل فقط إلى الصفحات التي لديها إمكانية الوصول إليها.
- تخزين القرص
- يحدد النواة كتل القرص لبرنامج التطبيق من خلال عنوان الكتلة المادية، مما يسمح للتطبيق بتحسين وضع البيانات. عندما يقوم البرنامج بتهيئة استخدامه للقرص، فإنه يوفر للنواة وظيفة يمكن للنواة استخدامها لتحديد الكتل التي يتحكم فيها البرنامج. تستخدم النواة هذه الاستدعاء للتحقق من أنه عندما تقوم بتخصيص كتلة جديدة، فإن البرنامج يطالب فقط بالكتلة التي تم تخصيصها بالإضافة إلى الكتل التي يتحكم فيها بالفعل.
- الشبكات
- تنفذ النواة مرشح حزم قابل للبرمجة ، والذي ينفذ البرامج بلغة البايت كود المصممة للتحقق من الأمان بسهولة بواسطة النواة.
التطبيقات
تتضمن أنظمة تشغيل المكتبة المتاحة لـ Exokernel نظام ExOS المخصص ومحاكيًا لـ BSD . بالإضافة إلى ذلك، أنشأ فريق exokernel خادم الويب Cheetah ، والذي يستخدم النواة مباشرةً.
تاريخ

كان مفهوم النواة الخارجية موجودًا منذ عام 1994 على الأقل، [3] ولكن اعتبارًا من عام 2010، [تحديث]لا تزال النواة الخارجية عبارة عن جهد بحثي ولم يتم استخدامها في أي أنظمة تشغيل تجارية رئيسية.
نظام التشغيل المفاهيمي لنظام exokernel هو Nemesis ، الذي كتبته جامعة كامبريدج ، وجامعة جلاسكو ، و Citrix Systems ، والمعهد السويدي لعلوم الكمبيوتر . كما قام معهد ماساتشوستس للتكنولوجيا ببناء العديد من الأنظمة القائمة على exokernel، بما في ذلك ExOS.
انظر أيضا
- نواة هجينة
- المشرف الافتراضي
- النواة (نظام التشغيل)
- النواة الدقيقة
- نواة متجانسة
- نانوكيرنل
- شبه افتراضية
- نواة الردف
- نظام التشغيل لمساحة العنوان الفردية (SASOS)
- يونيكيرنل
- باري ميتال
مراجع
- ^ "MIT Exokernel Operating System". pdos.csail.mit.edu . تم الاسترجاع في 2018-01-25 .
- ^ Engler, DR; Kaashoek, MF; O'Toole Jr., J.; Engler, DR; Kaashoek, MF; O'Toole Jr., J. (1995-12-03). "Exokernel: an Operating system architecture for application-level resource management". ACM SIGOPS Operating Systems Review . 29 (5): 251, 251–266, 266. doi :10.1145/224056.224076. ISSN 0163-5980. S2CID 221932539.
- ^ إنجلر وكاشوك وأوتول 1995.
فهرس
- إنجلر، داوسون ر (1998). "هندسة نظام التشغيل Exokernel" (PostScript) . معهد ماساتشوستس للتكنولوجيا . تم الاسترجاع في 22 سبتمبر 2006 .
{{cite journal}}: تتطلب المجلة الاستشهاد بها|journal=( مساعدة ) - ———; Kaashoek, M. Frans (1996). "إبادة جميع تجريدات نظام التشغيل" (PostScript) . معهد ماساتشوستس للتكنولوجيا . تم الاسترجاع في 22 سبتمبر 2006 .
{{cite journal}}: تتطلب المجلة الاستشهاد بها|journal=( مساعدة ) - ———; Kaashoek, M. Frans ; O'Toole, James Jr (1995). "Exokernel" (PDF) . وقائع ندوة ACM الخامسة عشرة حول مبادئ أنظمة التشغيل - SOSP '95 . المجلد 29. ص 251-266. doi :10.1145/224056.224076. ISBN 978-0-89791-715-5. S2CID 221932539 . تم الاسترجاع في 2014-10-08 .
روابط خارجية
- إيرلينجسون، أولفار؛ كيبارليس، أثاناسيوس، النوى الدقيقة، كورنيل،
مدى كون العمليات البسيطة والفعّالة خيارًا جيدًا في تصميم واجهة النواة
. - نظام التشغيل Exokernel، معهد ماساتشوستس للتكنولوجيا. نواة بحثية خارجية.
- نيميسيس، المملكة المتحدة : كامبريدج. نواة بحثية خارجية.
- BareMetal OS، Return Infinity، تم أرشفته من الأصل في 2014-09-06. نواة خارجية تجارية.
- XOmB، تم أرشفته من الأصل في 2019-07-28 ، تم استرجاعه في 2013-05-13. نواة بحثية خارجية.
- إكسآمور، فرنسا. نواة GNU الخارجية.
