نصيحة حول استخدام HyperVisor لتشغيل نظام التشغيل في الوقت الحقيقي بالتوازي مع Windows / Linux

StackOverflow https://stackoverflow.com/questions/1160110

  •  18-09-2019
  •  | 
  •  

سؤال

ما هي نصيحتك / تجربة استخدام HyperVisor (على سبيل المثال RTS Hypervisor في الوقت الحقيقي) لتشغيل RTOS بالتوازي مع نظام التشغيل في الوقت الحقيقي غير الحقيقي. هل هناك أي آثار أداء؟ هل هناك أي مخاطر التي تنطوي عليها؟ (مثل كيف يمكنك التأكد من أن نظام التشغيل في الوقت الحقيقي لن يتداخل مع جوانب الوقت الحقيقي ل RTOS)

من ما أفهمه، يجب استخدام وحدة المعالجة المركزية ثنائية النواة (أو hyperthreading) بحيث يمكنك تعيين كل نظام تشغيل لها جوهرها.

هل كانت مفيدة؟

المحلول

  1. لا، لا يحتاج إلى ثنائي النواة أو hyperthreading.
    • لا، لا تتداخل المهام غير RT مع RT.

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

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

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

لذلك، نظرا لأن نظام التشغيل غير RT بأكمله يتم تشغيله كأقل مهمة ذات أولوية، فلن يكون لديه أي ضمان للحصول على وقت المعالجة على الإطلاق. يمكن لأي مهمة RT مقاطعةها في أي وقت، حتى عند الوصول إلى الأجهزة. للحفاظ على هذا، عادة ما تكون مهام RT محدودة للغاية الوصول إلى الأجهزة، أو هناك الحد الأدنى من التحكيم في مستوى منخفض للغاية. IE: يمكن مقاطعة الوصول إلى القرص (ربما يؤدي إلى خطأ في الوصول)؛ ولكن ليس وصول PCI (طالما أنها قصيرة الأجل والحدود الزمنية)

هناك أيضا بعض الملحقات Soft-RT إلى جدولة Linux لبعض الوقت الآن؛ لكن ضمانات التوقيت ليست ضيقة للغاية لأن بعض أشكال رموش التشغيل الصلبة المبنية مع ذلك في الاعتبار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top