سؤال

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

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

  • ما هي استراتيجية - وصف الحالة العامة (تفترض أن الناس يعرفون ما مهمة الانتظار, الإشارات, أقفال, وغيرها من أساسيات نظام التشغيل خارج جدولة نفسها)
  • ما هي هذه الاستراتيجية الأمثل (مهمة الكمون, الكفاءة, الحقيقي, غضب, تقاسم الموارد ، الخ)
  • هو الوقت الحقيقي ، أو يمكن أن تكون مصنوعة الحقيقي

الاستراتيجيات الحالية:

-آدم

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

المحلول

كما هو موضح في ورقة بعنوان في الوقت الحقيقي جدولة المهام الطاقة-علم النظم المضمنة, سواميناثان و شاكرابارتي لوصف التحديات في الوقت الحقيقي وجدولة المهام في الطاقة المنخفضة (المضمنة) الأجهزة مع عدة سرعات المعالج و استهلاك الطاقة التشكيلات المتاحة.جدولة الخوارزمية أنها مخطط (و هي تبين أن حوالي 1 ٪ فقط أسوأ من الحل الأمثل في الاختبارات) لديه طريقة مثيرة للاهتمام جدولة المهام يسمونه LEDF الكشف عن مجريات الأمور.

من الورق:

منخفضة الطاقة أقرب الموعد النهائي الأول الكشف عن مجريات الأمور ، أو ببساطة LEDF ، تمديد المعروفة أقرب الموعد النهائي الأول (EDF) الخوارزمية.على تشغيل LEDF على النحو التالي:LEDF لائحة بجميع صدر المهام تسمى "لائحة جاهزة".عندما المهام صدر المهمة مع أقرب الموعد النهائي هو اختار أن يكون أعدم.يتم تنفيذ رؤية إذا كانت المهمة الموعد النهائي يمكن أن تتحقق من قبل تنفيذ ذلك على انخفاض الجهد (السرعة).إذا كان الموعد النهائي يمكن أن تتحقق ، LEDF يعين انخفاض الجهد إلى مهمة ومهمة يبدأ التنفيذ.خلال مهمة التنفيذ, أخرى المهام قد أدخل النظام.هذه المهام التي يفترض أن توضع تلقائيا على "لائحة جاهزة".LEDF مرة أخرى يختار المهمة مع أقرب موعد إعدامه.كما طالما هناك مهام في انتظار أن أعدم ، LEDF لا تبقي الموالية cessor الخمول.يتم تكرار هذه العملية حتى جميع المهام التي تم من المقرر.

وفي الزائفة رمز:

Repeat forever {
    if tasks are waiting to be scheduled {
        Sort deadlines in ascending order
        Schedule task with earliest deadline
        Check if deadline can be met at lower speed (voltage)
        If deadline can be met,
            schedule task to execute at lower voltage (speed)
        If deadline cannot be met,
            check if deadline can be met at higher speed (voltage)
        If deadline can be met,
            schedule task to execute at higher voltage (speed)
        If deadline cannot be met,
            task cannot be scheduled: run the exception handler!
    }
}

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

نصائح أخرى

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

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

من ناحية أخرى, المهام ذات الأولوية المنخفضة قد تكون في حاجة ماسة إلى وحدة المعالجة المركزية.هذا من شأنه أن يشير إلى وجود مشكلة التصميم.

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