نظام تشغيل الوقت الحقيقي
نظام التشغيل في الوقت الحقيقي (المنظمات) يقصد بمثابة بيانات عملية التطبيق في الوقت الحقيقي يأتي فيه عادة دون التأخير للتخزين المؤقت . تجهيز متطلبات (بما في ذلك أي تأخير نظم التشغيل ) يقاس بأعشار الثواني أو أقصر وقت.
هو خصائص رئيسية لمنظمات البحث والتكنولوجيا ومستوى اتساقها فيما يتعلق بمقدار الوقت الذي يستغرقه للقبول وإكمال المهمة أحد التطبيقات التقلب فيها يكون غضب.. نظام التشغيل في الوقت الحقيقي الجاد بغضب أقل من نظام التشغيل في الوقت الحقيقي يكون لين. بهدف تصميم كبير ولكنها ليست عالية الإنتاجية، ولكن بدلاً من ذلك ضمانا لفئة الأداء الناعم أو الثابت. منظمات البحث والتكنولوجيا التي يمكن عموماأو عادة الوفاء بالموعد نهائي ،يكون نظام التشغيل في الوقت الحقيقي لين، ولكن إذا كان يمكن الوفاء بالموعد نهائي (القطعية) يكون نظام التشغيل في الوقت الحقيقي ثابت.
منظمات البحث والتكنولوجيا وقد تكون خوارزمية متقدمة للجدولة. مرونةالجدولة تمكن تزامن الكمبيوتر في نظام أوسع نطاقا من أولويات العمليات، ولكن أكثر تواترا وتكون مكرسة لمجموعة ضيقة من تطبيقات نظام تشغيل في الوقت الحقيقي. العوامل الرئيسية في الوقت الحقيقي في نظام التشغيل هي استتار مقاطعة الحد الأدنى والحد الأدنى لموضوع التبديل في زمن الوصول ، نظام تشغيل في الوقت الحقيقي أكثر قيمة لمدى السرعة أو كما هو متوقع كيف يمكن أن تستجيب من مقدار العمل ويمكن أن تؤدي في فترة معينة من الوقت.
التصاميم الأكثر شيوعا:
وحدة المعالجة المركزية المبكره هي التصاميم وحدة المعالجة المركزية التي تحتاج إلى دورات عديده لتبديل المهام تفعل من خلالها وحدة المعالجة المركزية (20 ميجاهيرتز ومعالج 68000) بشكل نموذجي من أواخر الثمانينات ومهمتها مرات التبديل تقريبا (20 مايكرو بالثانية) في المقابل (100 ميجاهيرتز ذراع تبديل في وحدة المعالجة المركزية من (2008)التبديل في أقل من (3 مايكرو في الثانية) ونظرا لهذا حاول Oses تقليل اضاعة الوقت في وحدة المعالجة المركزية عن طريق تجنب التبديل بين المهام الغير ضرورية.بعض المهام يتم حظرها أو تكون جاهزة أكثر من مرة لأنه عموما يمكن تشغيل مهمه واحدة فقط لكل وحدة من المعالجة المركزية . عدد العناصر في قائمة الانتظار ممكن أن تختلف إلى حد كبير اعتمادا على المهام التي يحتاجها أداء النظام ونوع الجدولة التي يستخدمها النظام في أبسط المهام الغير وقائية ولكن لا يزال هناك تعدد مهام الأنظمة ، المهمة تقوم بالتخلي عن وقتها في وحدة المعالجة المركزية لمهام اخرى التي يمكن أن تسبب جاهزية في قائمة الانتظار لعدد أكبر من العامة لتنفذ الحالة ( مجاعة في المصدر ).
عادة البيانات المهيكلة في القوائم الجاهزة للجدولة تم تصميمها لتقليل من الوقت التي تقضيه في جدولة المقاطع الحرجة خلالها تتحول دون الضربات الوقائية وفي بعض الحالات يتم تعطيل كافة المقاطعات ولكن اختيار هيكلة البيانات تعتمد أيضا على الحد الأقصى لعدد من المهام التي يمكن أن تكون فيها القائمة جاهزة.
اذا كان هناك عدد كبير من المهام في القائمة الجاهزة إذن تكون القائمة المرتبطة مزدوجة المهام الجاهزة والقائمة الجاهزة تحتوي على مهام قليلة ولكن احيانا تحتوي على عدد كبير من المهام ويجب فرز القائمة على حسب الأولويات وبهذه الطريقة يتم العثور على المهمة ذات الأولوية القصوى للتشغيل ولا يتطلب التكرار من خلال القائمة بأكملها، ويتطلب إدراج مهمة ثم المشي في القائمة الجاهزة حتى الوصول إلى نهايتها ، أو إدراج مهمة ذات أولوية أقل منها . ويجب الحرص على أن لا تضعف الضربات الوقائية خلال عملية البحث ،ويجب أن تقسم المقاطع الحرجة إلى قطع صغيرة في حال حدوث مقاطعه االذي يجعلها ذات أولوية عالية وجاهزه من خلال إدراج مهمه ذات أولوية منخفضه، والمهمه ذات الأولوية العالية يمكن إدراجها وتشغيلها فورا قبل أن يتم إدراج المهام ذات الأولوية المنخفضه.
في الأنظمة الأكثر تقدما المهام في الوقت الحقيقي تقاسم موارد الحوسبة مع العديد من المهام في الوقت غير الحقيقي والقائمةالجاهزة يمكن أن تكون طويلة تعسفا في مثل هذا النظم ، جدولة القائمة الجاهزة تنفيذها كقائمة مرتبطة تكون غير كافية.إدارة نظم تبادل وتقاسم موارد الأجهزة بين عدة مهام عادة غير آمنة لاثنين من المهام للوصول إلى نفس مورد البيانات أو الأجهزة المحددة في الوقت المحدد وغير آمنة تعني أن النتائج غير متناسقة أو لا يمكن التنبؤ بها وهنالك ثلاثة نماذج مشتركة لحل هذه المشكلة :
أنظمة التشغيل ذات الأغراض العامة عادة لا تسمح لبرامج المستخدم تعطيل المقاطعات نظرا لأن برنامج المستخدم يمكن التحكم بوحدة المعالحة المركزية لطالما أنه يود ذلك ولا تسمح بعض وحدات المعالجة المركزية الحديثة وضع رمز المستخدم لتعطيل المقاطعات باعتبار أن هذه الرقابة تعتر موردا رئيسا من نظام التشغيل .
تسمح العديد من الأنظمة المدمجة الوقت الحقيقي في نظم التشغيل بتطبيق نفسه ليتم تشغيله في وضع النواة لقدر أكبر من الكفاءة في استدعاء النظام، وأيضا السماح للتطبيق أن يكون لديه تحكم أكبر لبيئة التشغيل دون الحاجة إلى تدخل نظام التشغيل . في الأنظمة أحادية المعالج إذا كان التطبيق يعمل في وضع النواة ويمكن أن تخفي المقاطعات ، هذا الأسلوب هو الحل لأدنى نفقات لمنع الوصول المتزامن لمورد مشترك ، بينما يتم حجب المقاطعات والمهمة الحالية لا تجعل حظر استدعاء نظام التشغيل .
بعد ذلك المهمة الحالية قد تقوم بالاستخدام الحصري لوحدة المعالجة المركزية حيث لا يوجد مهمة اخرى أو مقاطعات يمكن السيطرة عليها حتى تتم حماية المقطع الحرج . عند انهاء المهمة في المقطع الحرج فإنه يجب كشف المقاطعات أو المقاطعات المعلقه إذا وجدت بعد ذلك يتم تنفيذه مؤقتا . إخفاء المقاطعات ويعني أن لا يتم ذلك إلا عند مسار أطول من خلال مقطع حرج أقصر من الحد الأقصى من زمن المقاطعة المطلوب وعادة ما يتم استخدام هذا الأسلوب من الحماية فقط عند المقطع الحرج وهو تعليمات قليلة فقط ولا يحتوي على حلقات ،وهذا هو الأسلوب المثالي لحماية سجلات تعيين البت للأجهزة عندما يكون البت هو المتحكم بالمهام المختلفة.
متى يجب حجز المورد المشترك دون عرقلة كافة المهام الأخرى (مثل انتظار ذاكرة فلاش للكتابة)، فمن الأفضل استخدام الآليات المتاحة أيضا على أنظمة التشغيل ذات الأغراض العامة، مثل الإشارات، والإشراف على نظام التشغيل المتداخل بين العمليات المراسلة. هذه الآليات تشمل استدعاءات النظام، وعادة استدعاء رمز المرسل لنظام التشغيل على الخروج، حيث أنهم عادة ما يستغرق مئات تعليمات وحدة المعالجة المركزية لتنفيذها، في حين يجوز إخفاء المقاطعات عند اتخاذ عدد قليل من تعليمة واحدة في بعض المعالجات.
إشارة ثنائي هو إما مؤمناً أو غير مؤمن. عند تأمينه، يجب انتظار المهام إشارة الفتح. ولذلك إشارة ثنائي تكافئ المزامنة. عادة المهمة يتم تعيين مهلة لها لانتظار الإشارة. هناك عدة مشاكل معروفة مع الإشارة على أساس التصاميم مثل انعكاس ذات الأولوية، والوصول إلى طريق مسدود.
نهج آخر لتقاسم مواردالمهام وهو إرسال الرسائل في مخطط تمرير الرسالة. في هذا النموذجهو إدارة المورد مباشرة بمهمة واحدة فقط. عندما يريد مهمة أخرى يقوم بالاستجواب أوالتلاعب بالموارد ، فإنه يرسل رسالة لادارة المهمة. على الرغم من أن سلوكهم في الوقت الحقيقي أقل هشاشه من نظام الإشارة، الأنظمة المستندة إلى رسالة بسيطة تتجنب معظم مخاطر الجمود في البروتوكول، وهي عموما أفضل تصرف من نظام الإشارة. ومع ذلك مشاكل مثل تلك الإشارات الممكنة يمكن أن يحدث انعكاس في الأولوية عند مهمة تعمل على رسالة ذات أولوية منخفضة ويتجاهل رسالة ذات أولوية أعلى (أو رسالة مصدرها غير مباشر وتكون المهمة ذات أولوية عالية) في قائمة انتظار رسالة واردة. بروتوكول الوصول إلى طريق مسدود يمكن أن تحدث عند اثنين أو أكثر من مهام الانتظار لبعضهاالبعض لارسال رسائل الاستجابة.
هي كتل معالجة المقاطعة المهمة ذات الأولوية العليا من التشغيل، وعندما تم تصميم أنظمة التشغيل في الوقت الحقيقي كان للحفاظ على موضوع زمن الوصول إلى أدنى حد ممكن، المقاطعة عادة تحتفظ بالمعالجات القصيرة قدر الإمكان. معالج المقاطعة يؤجل التفاعل مع الأجهزة إذاأمكن ذلك ،عادة كل ماهو ضروري هو الإعتراف أو تعطيل المقاطعة (بحيث لن تحدث مرة أخرى عندما يعود معالج المقاطعة) ويقوم بإخطار المهمة التي تحتاج العمل الذي ينبغي القيام به . ويمكن أن يتم ذلك عن طريق رفع الحظرعن مهمة السائق من خلال الافراج عن الإشارة، لتضع العلم أو ترسل رسالة. الجدولة غالبا ما توفر القدرة على تحريك مهمة من سياق معالجةالمقاطعة.
نظام التشغيل يحافظ على كتالوجات من الأشياء التي تديرها مثل:المواضيع، كائنات المزامنة، والذاكرة .التحديثات لهذا الكتالوج يجب أن يكون عليها رقابة صارمة، لهذاالسبب يمكن أن تكون مشكلة عند استدعاء معالج المقاطعة، وظيفة نظام التشغيل حين يكون التطبيقه هو في الفعل للقيام بذلك أيضا.
مثال شائع لمنظمات البحث والتكنولوجيا هو جهاز استقبال التلفزيون عالي الوضوح والعرض. أنه يحتاج إلى قراءة إشارة رقمية وفكه وعرضه لتأتي البيانات. وأي تأخير سيكون ملحوظا(الفيديو منقط أو الصوت مشوه).
هذه الامثلة على نظم التشغيل في الوقت الحقيقي، والمنتشرة على نطاق واسع: