نواة هجينة

بنية أنظمة التشغيل القائمة على النواة المتجانسة والنواة الصغيرة والنواة الهجينة

النواة الهجينة هي نواة نظام تشغيل تحاول بنيتها الجمع بين جوانب وفوائد النواة الصغيرة والنواة المتجانسة المستخدمة في أنظمة التشغيل. [1] [2] [ مصدر غير موثوق؟ ]

ملخص

الفئات التقليدية للنواة هي النوى المتجانسة والنوى الدقيقة (مع اعتبار النوى النانوية والنوى الخارجية إصدارات أكثر تطرفًا من النوى الدقيقة). تعد فئة "الهجين" مثيرة للجدل، بسبب تشابه النوى الهجينة والنوى المتجانسة العادية؛ وقد رفض لينوس تورفالدس هذا المصطلح باعتباره تسويقًا بسيطًا. [3]

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

أمثلة

نواة NT

تتكون بنية عائلة نظام التشغيل Windows NT من طبقتين ( وضع المستخدم ووضع النواة )، مع العديد من الوحدات النمطية المختلفة داخل كل من هاتين الطبقتين.

من الأمثلة البارزة على النواة الهجينة نواة Microsoft Windows NT التي تعمل على تشغيل جميع أنظمة التشغيل في عائلة Windows NT ، بما في ذلك Windows 11 و Windows Server 2022 ، وتعمل على تشغيل Windows Phone 8 و Windows Phone 8.1 و Windows 10 Mobile ووحدات تحكم Xbox One و Xbox Series .

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

الشخصية الأساسية لنظام التشغيل على Windows هي واجهة برمجة تطبيقات Windows ، والتي تكون موجودة دائمًا. يُطلق على نظام المحاكاة الفرعي الذي ينفذ شخصية Windows اسم نظام التشغيل الفرعي للعميل/الخادم (csrss.exe). في إصدارات NT السابقة للإصدار 4.0، احتوت عملية النظام الفرعي هذه أيضًا على مدير النوافذ وواجهة جهاز الرسومات وبرامج تشغيل جهاز الرسومات. ومع ذلك، لأسباب تتعلق بالأداء، في الإصدار 4.0 والإصدارات الأحدث، تعمل هذه الوحدات (والتي غالبًا ما يتم تنفيذها في وضع المستخدم حتى على الأنظمة المتجانسة، وخاصة تلك المصممة بدون دعم الرسومات الداخلي) كنظام فرعي لوضع النواة. [4]

تُكتب التطبيقات التي تعمل على NT إلى إحدى شخصيات نظام التشغيل (عادةً واجهة برمجة تطبيقات Windows)، وليس إلى واجهة برمجة تطبيقات NT الأصلية التي لا تتوفر وثائقها للعامة (باستثناء الروتينات المستخدمة في تطوير برامج تشغيل الأجهزة). يتم تنفيذ شخصية نظام التشغيل عبر مجموعة من مكتبات الارتباط الديناميكي (DLL) في وضع المستخدم (انظر مكتبة الارتباط الديناميكي )، والتي يتم تعيينها في مساحات عناوين عمليات التطبيق حسب الحاجة، جنبًا إلى جنب مع عملية خادم نظام فرعي للمحاكاة (كما هو موضح سابقًا). تصل التطبيقات إلى خدمات النظام عن طريق استدعاء مكتبات الارتباط الديناميكي لشخصية نظام التشغيل المعينة في مساحات عناوينها، والتي بدورها تستدعي مكتبة وقت تشغيل NT (ntdll.dll)، والتي يتم تعيينها أيضًا في مساحة عناوين العملية. تخدم مكتبة وقت تشغيل NT هذه الطلبات عن طريق الاحتجاز في وضع kernel إما لاستدعاء روتينات تنفيذية في وضع kernel أو إجراء مكالمات إجراءات محلية (LPCs) لعمليات خادم نظام فرعي في وضع المستخدم المناسبة، والتي بدورها تستخدم واجهة برمجة تطبيقات NT للتواصل مع عمليات التطبيق وأنظمة فرعية في وضع kernel وبعضها البعض. [5]

نواة XNU

نواة XNU

XNU هو النواة التي استحوذت عليها شركة Apple Inc. وطورتها لاستخدامها في أنظمة التشغيل macOS و iOS و watchOS و tvOS وتم إصدارها كبرنامج مجاني ومفتوح المصدر كجزء من نظام التشغيل Darwin . XNU هو اختصار لـ X is Not Unix . [6]

تم تطوير XNU في الأصل بواسطة NeXT لنظام التشغيل NeXTSTEP ، وكان عبارة عن نواة هجينة تجمع بين الإصدار 2.5 من نواة Mach مع مكونات من 4.3BSD وواجهة برمجة تطبيقات موجهة للكائنات لكتابة برامج تشغيل تسمى Driver Kit.

بعد أن استحوذت شركة Apple على NeXT، تمت ترقية مكون Mach إلى OSFMK 7.3، [7] وهو نواة صغيرة. [8] تستخدم Apple إصدار OSFMK 7.3 معدّل بشكل كبير يعمل كنواة هجينة مع أجزاء من FreeBSD مضمنة. [7] (يتضمن OSFMK 7.3 كودًا قابلًا للتطبيق من نواة Mach 4 بجامعة يوتا وكودًا قابلًا للتطبيق من العديد من متغيرات Mach 3.0 التي تفرعت من نواة Mach 3.0 الأصلية بجامعة كارنيجي ميلون.) تمت ترقية مكونات BSD بكود من مشروع FreeBSD وتم استبدال Driver Kit بواجهة برمجة تطبيقات C++ لكتابة برامج تشغيل تسمى I/O Kit [ بحاجة لمصدر ] .

وصف

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

آحرون

انظر أيضا

ملحوظات

  1. ^ "Hybrid Kernel - OSDev Wiki". wiki.osdev.org . تم الاسترجاع في 2021-01-11 .
  2. ^ "ما هو Hybrid Kernel؟ - تعريف من Techopedia". Techopedia.com . 22 أغسطس 2011 . تم الاسترجاع 2021-01-11 .
  3. ^ "لينوس تورفالدس". أما عن مسألة "النواة الهجينة" برمتها - فهي مجرد تسويق. إنها "أوه، تلك النوى الصغيرة كانت تتمتع بعلاقات عامة جيدة، فكيف يمكننا أن نحاول الحصول على علاقات عامة جيدة لنواة العمل لدينا؟ أوه، أعلم، دعنا نستخدم اسمًا رائعًا ونحاول أن نلمح إلى أنها تتمتع بكل مزايا العلاقات العامة التي يتمتع بها النظام الآخر.
  4. ^ "ورقة بيضاء حول وضع Kernel-mode User and GDI في نظام التشغيل MS Windows NT". شركة Microsoft Corporation. 2007. تم الاسترجاع في 2022-08-24 .
  5. ^ Probert, Dave (2005). "Overview of Windows Architecture". Using Projects Based on Internal NT APIs to Teach OS Principles . Microsoft Research/Asia - Beijing. مؤرشف من الأصل في 2007-11-28 . تم الاسترجاع في 2007-03-01 .
  6. ^ "نقل تطبيقات UNIX/Linux إلى OS X: المصطلحات". Apple Computer. 2005. تم الاسترجاع في 2017-06-16 .
  7. ^ بواسطة Jim Magee. WWDC 2000 الدورة 106 - Mac OS X: Kernel. 14 دقيقة.
  8. ^ دوغلاس م. ويلز (1994). بيئة نظام تشغيل موثوقة وقابلة للتطوير وفي الوقت الفعلي (PDF) . مؤتمر تقنيات وتطبيقات الاستخدام المزدوج لمعهد مهندسي الكهرباء والإلكترونيات لعام 1994. S2CID  5205380. مؤرشف من الأصل (PDF) في 22 أغسطس 2017.
  9. ^ درو ميجور؛ جريج مينشال؛ كايل باول. "نظرة عامة على نظام التشغيل NetWare".
  10. ^ "OS/2 Kernel". مؤرشف من الأصل في 2021-01-18 . تم الاسترجاع 2020-09-04 .

مراجع

  • مارك روسينوفيتش (23 نوفمبر 2004). "داخل واجهة برمجة التطبيقات الأصلية". Sysinternals . مؤرشف من الأصل في 15 مارس 2006. تم الاسترجاع في 24 يوليو 2006 .
Retrieved from "https://en.wikipedia.org/w/index.php?title=Hybrid_kernel&oldid=1268034647"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate