منظمات البحث والتكنولوجيا وقد تكون خوارزمية متقدمة للجدولة. مرونة الجدولة تمكن تزامن الكمبيوتر في نظام أوسع نطاقا من أولويات العمليات، ولكن أكثر تواترا وتكون مكرسة لمجموعة ضيقة من تطبيقات نظام تشغيل في الوقت الحقيقي. العوامل الرئيسية في الوقت الحقيقي في نظام التشغيل هي استتار مقاطعة الحد الأدنى والحد الأدنى لموضوع التبديل في زمن الوصول ، نظام تشغيل في الوقت الحقيقي أكثر قيمة لمدى السرعة أو كما هو متوقع كيف يمكن أن تستجيب من مقدار العمل ويمكن أن تؤدي في فترة معينة من الوقت.[1]
فلسفات التصميم
التصاميم الأكثر شيوعا:
- الحدث المدفوع هي عبارة عن رموز تقوم بالتبديل فقط عند وجود خدمة تحتاج أولوية أعلى سواء كانت أولوية وقائية أو جدولة .
- تشارك الوقت / تقاسم الوقت هي التصاميم التي لها القدرة على تبديل المهام ومقاطعتها والذي دعا إليها هو راوند روبن، تكون هذه التصاميم أكثر سلاسة ودقة وتقوم بإعطاء الوهم بأن العملية أو المستخدم الوحيد الذي يقوم باستخدام هذا الجهاز.
وحدة المعالجة المركزية المبكره هي التصاميم وحدة المعالجة المركزية التي تحتاج إلى دورات عديده لتبديل المهام تفعل من خلالها وحدة المعالجة المركزية (20 ميجاهيرتز ومعالج 68000) بشكل نموذجي من أواخر الثمانينات ومهمتها مرات التبديل تقريبا (20 مايكرو بالثانية) في المقابل (100 ميجاهيرتز ذراع تبديل في وحدة المعالجة المركزية من (2008)التبديل في أقل من (3 مايكرو في الثانية)[2][3] ونظرا لهذا حاول Oses تقليل اضاعة الوقت في وحدة المعالجة المركزية عن طريق تجنب التبديل بين المهام الغير ضرورية.
الجدولة
- التشغيل(التشغيل وحدة المعالجة المركزية).
- الاستعداد(جاهز للتنفيذ).
- الحظر (في انتظار حدث الإدخال أو الإخراج).
بعض المهام يتم حظرها أو تكون جاهزة أكثر من مرة لأنه عموما يمكن تشغيل مهمه واحدة فقط لكل وحدة من المعالجة المركزية . عدد العناصر في قائمة الانتظار ممكن أن تختلف إلى حد كبير اعتمادا على المهام التي يحتاجها أداء النظام ونوع الجدولة التي يستخدمها النظام في أبسط المهام الغير وقائية ولكن لا يزال هناك تعدد مهام الأنظمة، المهمة تقوم بالتخلي عن وقتها في وحدة المعالجة المركزية لمهام اخرى التي يمكن أن تسبب جاهزية في قائمة الانتظار لعدد أكبر من العامة لتنفذ الحالة ( مجاعة في المصدر ).
عادة البيانات المهيكلة في القوائم الجاهزة للجدولة تم تصميمها لتقليل من الوقت التي تقضيه في جدولة المقاطع الحرجة خلالها تتحول دون الضربات الوقائية وفي بعض الحالات يتم تعطيل كافة المقاطعات ولكن اختيار هيكلة البيانات تعتمد أيضا على الحد الأقصى لعدد من المهام التي يمكن أن تكون فيها القائمة جاهزة.
إذا كان هناك عدد كبير من المهام في القائمة الجاهزة إذن تكون القائمة المرتبطة مزدوجة المهام الجاهزة والقائمة الجاهزة تحتوي على مهام قليلة ولكن احيانا تحتوي على عدد كبير من المهام ويجب فرز القائمة على حسب الأولويات وبهذه الطريقة يتم العثور على المهمة ذات الأولوية القصوى للتشغيل ولا يتطلب التكرار من خلال القائمة بأكملها، ويتطلب إدراج مهمة ثم المشي في القائمة الجاهزة حتى الوصول إلى نهايتها، أو إدراج مهمة ذات أولوية أقل منها . ويجب الحرص على أن لا تضعف الضربات الوقائية خلال عملية البحث، ويجب أن تقسم المقاطع الحرجة إلى قطع صغيرة في حال حدوث مقاطعه الذي يجعلها ذات أولوية عالية وجاهزه من خلال إدراج مهمه ذات أولوية منخفضه، والمهمة ذات الأولوية العالية يمكن إدراجها وتشغيلها فورا قبل أن يتم إدراج المهام ذات الأولوية المنخفضه.
في الأنظمة الأكثر تقدما المهام في الوقت الحقيقي تقاسم موارد الحوسبة مع العديد من المهام في الوقت غير الحقيقي والقائمة الجاهزة يمكن أن تكون طويلة تعسفا في مثل هذا النظم، جدولة القائمة الجاهزة تنفيذها كقائمة مرتبطة تكون غير كافية.
الخوارزميات
- جدولة تعاونية.
- جدولة معدل رتيبة .
- جدولة راوند روبين(جولة روبن).
- جدولة وقائية الأولوية الثابتة وهو أعمال وقائية لتقطيع الوقت.
- جدولة الأولوية الثابتة مع تأجيل الضربات الوقائية.
- جدولة غير وقائية ذات الأولوية.
- جدولة وقائية للمقطع الحرج.
- جدولة الوقت الثابت.
- .
- جدولة وقائية.
- أقرب وقت للموعد النهائي والنهج الأول.
- ديجرافس العشوائية مع اجتياز الرسم البياني متعدد مؤشرات الترابط.
الاتصالات المهمة وتقاسم الموارد
إدارة نظم تبادل وتقاسم موارد الأجهزة بين عدة مهام عادة غير آمنة لاثنين من المهام للوصول إلى نفس مورد البيانات أو الأجهزة المحددة في الوقت المحدد وغير آمنة تعني أن النتائج غير متناسقة أو لا يمكن التنبؤ بها وهنالك ثلاثة نماذج مشتركة لحل هذه المشكلة :
الإخفاء المؤقت/المقاطعات
أنظمة التشغيل ذات الأغراض العامة عادة لا تسمح لبرامج المستخدم تعطيل المقاطعات نظرا لأن برنامج المستخدم يمكن التحكم بوحدة المعالحة المركزية لطالما أنه يود ذلك ولا تسمح بعض وحدات المعالجة المركزية الحديثة وضع رمز المستخدم لتعطيل المقاطعات باعتبار أن هذه الرقابة تعتر موردا رئيسا من نظام التشغيل .
تسمح العديد من الأنظمة المدمجة الوقت الحقيقي في نظم التشغيل بتطبيق نفسه ليتم تشغيله في وضع النواة لقدر أكبر من الكفاءة في استدعاء النظام، وأيضا السماح للتطبيق أن يكون لديه تحكم أكبر لبيئة التشغيل دون الحاجة إلى تدخل نظام التشغيل . في الأنظمة أحادية المعالج إذا كان التطبيق يعمل في وضع النواة ويمكن أن تخفي المقاطعات، هذا الأسلوب هو الحل لأدنى نفقات لمنع الوصول المتزامن لمورد مشترك، بينما يتم حجب المقاطعات والمهمة الحالية لا تجعل حظر استدعاء نظام التشغيل .
بعد ذلك المهمة الحالية قد تقوم بالاستخدام الحصري لوحدة المعالجة المركزية حيث لا يوجد مهمة اخرى أو مقاطعات يمكن السيطرة عليها حتى تتم حماية المقطع الحرج . عند انهاء المهمة في المقطع الحرج فإنه يجب كشف المقاطعات أو المقاطعات المعلقه إذا وجدت بعد ذلك يتم تنفيذه مؤقتا . إخفاء المقاطعات ويعني أن لا يتم ذلك إلا عند مسار أطول من خلال مقطع حرج أقصر من الحد الأقصى من زمن المقاطعة المطلوب وعادة ما يتم استخدام هذا الأسلوب من الحماية فقط عند المقطع الحرج وهو تعليمات قليلة فقط ولا يحتوي على حلقات، وهذا هو الأسلوب المثالي لحماية سجلات تعيين البت للأجهزة عندما يكون البت هو المتحكم بالمهام المختلفة.
الارشادات الثنائية
متى يجب حجز المورد المشترك دون عرقلة كافة المهام الأخرى (مثل انتظار ذاكرة فلاش للكتابة)، فمن الأفضل استخدام الآليات المتاحة أيضا على أنظمة التشغيل ذات الأغراض العامة، مثل الإشارات، والإشراف على نظام التشغيل المتداخل بين العمليات المراسلة. هذه الآليات تشمل استدعاءات النظام، وعادة استدعاء رمز المرسل لنظام التشغيل على الخروج، حيث أنهم عادة ما يستغرق مئات تعليمات وحدة المعالجة المركزية لتنفيذها، في حين يجوز إخفاء المقاطعات عند اتخاذ عدد قليل من تعليمة واحدة في بعض المعالجات.
إشارة ثنائي هو إما مؤمناً أو غير مؤمن. عند تأمينه، يجب انتظار المهام إشارة الفتح. ولذلك إشارة ثنائي تكافئ المزامنة. عادة المهمة يتم تعيين مهلة لها لانتظار الإشارة. هناك عدة مشاكل معروفة مع الإشارة على أساس التصاميم مثل انعكاس ذات الأولوية، والوصول إلى طريق مسدود.
مرور الرسائل
نهج آخر لتقاسم مواردالمهام وهو إرسال الرسائل في مخطط تمرير الرسالة. في هذا النموذجهو إدارة المورد مباشرة بمهمة واحدة فقط. عندما يريد مهمة أخرى يقوم بالاستجواب أوالتلاعب بالموارد، فإنه يرسل رسالة لادارة المهمة. على الرغم من أن سلوكهم في الوقت الحقيقي أقل هشاشه من نظام الإشارة، الأنظمة المستندة إلى رسالة بسيطة تتجنب معظم مخاطر الجمود في البروتوكول، وهي عموما أفضل تصرف من نظام الإشارة. ومع ذلك مشاكل مثل تلك الإشارات الممكنة يمكن أن يحدث انعكاس في الأولوية عند مهمة تعمل على رسالة ذات أولوية منخفضة ويتجاهل رسالة ذات أولوية أعلى (أو رسالة مصدرها غير مباشر وتكون المهمة ذات أولوية عالية) في قائمة انتظار رسالة واردة. بروتوكول الوصول إلى طريق مسدود يمكن أن تحدث عند اثنين أو أكثر من مهام الانتظار لبعضها البعض لارسال رسائل الاستجابة.
معالجة المقاطعة والجدولة
هي كتل معالجة المقاطعة المهمة ذات الأولوية العليا من التشغيل، وعندما تم تصميم أنظمة التشغيل في الوقت الحقيقي كان للحفاظ على موضوع زمن الوصول إلى أدنى حد ممكن، المقاطعة عادة تحتفظ بالمعالجات القصيرة قدر الإمكان. معالج المقاطعة يؤجل التفاعل مع الأجهزة إذاأمكن ذلك، عادة كل ماهو ضروري هو الاعتراف أو تعطيل المقاطعة (بحيث لن تحدث مرة أخرى عندما يعود معالج المقاطعة) ويقوم بإخطار المهمة التي تحتاج العمل الذي ينبغي القيام به . ويمكن أن يتم ذلك عن طريق رفع الحظرعن مهمة السائق من خلال الإفراج عن الإشارة، لتضع العلم أو ترسل رسالة. الجدولة غالبا ما توفر القدرة على تحريك مهمة من سياق معالجة المقاطعة.
نظام التشغيل يحافظ على كتالوجات من الأشياء التي تديرها مثل:المواضيع، كائنات المزامنة، والذاكرة .التحديثات لهذا الكتالوج يجب أن يكون عليها رقابة صارمة، لهذا السبب يمكن أن تكون مشكلة عند استدعاء معالج المقاطعة، وظيفة نظام التشغيل حين يكون التطبيقه هو في الفعل للقيام بذلك أيضا.
أمثلة على الوقت الحقيقي
مثال شائع لمنظمات البحث والتكنولوجيا هو جهاز استقبال التلفزيون عالي الوضوح والعرض. أنه يحتاج إلى قراءة إشارة رقمية وفكه وعرضه لتأتي البيانات. وأي تأخير سيكون ملحوظا(الفيديو منقط أو الصوت مشوه). هذه الامثلة على نظم التشغيل في الوقت الحقيقي، والمنتشرة على نطاق واسع:
- عنصر قائمة مرقمة
انظر أيضاً
المراجع
- "RTOS Concepts"
- "Context switching time". Segger Microcontroller Systems. Retrieved 2009-12-20.
- "RTOS performance comparison on emb4fun.de"