حوسبة الزمن الحقيقي

حوسبة الزمن الحقيقي real-time systems يأخذ تصميم منظومات الزمن الحقيقي أهميةً متزايدة مع دخول الحواسيب إلى مختلف التجهيزات، إذ أصبحت جزءاً لا يتجزأ من الطائرات والسيارات وخطوط الإنتاج والعمليات الصناعية. ولا يُسمح في هذه المنتجات أن يُطلب من الحاسوب تنفيذ مهمة معينة، وأن يُعطى زمناً غير محدود لإنجازها. ومنظومة الزمن الحقيقي هي نظام لمعالجة المعلومات يستجيب لتحريض دخل خارجي في مدة زمنية معينة ومنتهية. وتؤثر هذه القيود الزمنية في اختيار المعالج الصغري الأنسب لأداء المهمة المطلوبة. وفي أغلب الأحيان، يتكرر تنفيذ مهمات الزمن الحقيقي دورياً، بحيث تُجمع في كل مرة المعطيات من المحِسّات وتُحلَّل ثم تُولّد إشارة تحكم مناسبة. ولا يُفهم من ذلك أن زمن تنفيذ مهمة الزمن الحقيقي صغير جداً، إذ يكفي أن يقلّ ذلك الزمن عن التأخير الأعظم المسموح به لإنجاز تلك المهمة.

يتضمن توصيف أي منظومة زمن حقيقي جزأين:

  • توصيف منطقي: ويُقصد به المتطلبات اللازمة للحصول على نتائج صحيحة.
  • توصيف زمني: ويضم مجموعة القيود الزمنية التي تتطلب الحصول على المخارج في الوقت المناسب.

ينبغي إذن أن تتسم تلك المنظومات بسلوك قابل للتنبؤ مهما كانت المداخل، وأن تتواجه مع العتاد مباشرة لتتحكم فيه. ولذا، تُطوّر لتلك المنظومات برمجيات خاصة تبعاً لحاجة الزبون.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

أنواع منظومات الزمن الحقيقي

يمكن التمييز بين أربعة أنواع من منظومات الزمن الحقيقي:

  • منظومة زمن حقيقي صلبة (عتادية) hard: تستجيب هذه المنظومة في المدة الزمنية المطلوبة حتماً، وإلا تتعرض للإخفاق حتماً، وقد يؤدي ذلك إلى كارثة أو خسائر مادية. ومثال ذلك، نظام التحكم في الطائرة، ونظام الكبح المضاد للإقفال ABS في السيارات.
  • منظومة زمن حقيقي لينة (برمجية) soft: تراعي هذه المنظومة القيود الزمنية المفروضة عليها، ولكنها إذا أخفقت استمر النظام بالعمل على نحو صحيح. ومثال ذلك، نظم تحصيل المعطيات إذ لا يؤدي التأخر في أخذ عينة معينة إلى توقف نظام التحصيل.
  • منظومة زمن حقيقي راسخة firm: وهي نظم لينة، تتميز بأن التسليم المتأخر فيها للخدمة يفقد الفائدة المرجوة منها.

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


مميزات منظومات الزمن الحقيقي

تتسم منظومات الزمن الحقيقي بمجموعة من الخصائص، أهمها:

  • التعقيد والضخامة: إذ تضم المنظومة عادةً عدداً كبيراً من أسطر الرماز المكتوب بإحدى لغات البرمجة.
  • التحكم المتساير: لكي تستطيع المنظومة التحكم في مكوِّنات النظام على التوازي، ينبغي بناؤها برمجياً وفق كيانات متسايرة.
  • الموثوقية والأمان: بسبب استخدام المنظومات للتحكم في تجهيزات حرجة، فإن إخفاقها قد يؤدي إلى أضرار مادية جسيمة.
  • التفاعل مع العتاد: يُطلب من هذه المنظومات إصدار أوامر التحكم اللازمة لقيادة التجهيزات الموصولة بها.
  • السلوك القابل للتنبؤ: ينبغي على منظومات الزمن الحقيقي إنجاز مهمات معينة بزمن محدَّد، مهما كانت المداخل الخارجية أو الظروف المحيطية. ويقتضي تحقيق ذلك إمكانية التنبؤ بسلوك تلك المنظومة في كل الظروف.
  • دعم تحمّل الخلل fault-tolerant: وهذه ميزة أساسية تتيح للمنظومة الاستمرار بالعمل في حال إخفاق جزء من مكوِّناتها.

وتُعدّ المتاحيّة والتصعّدية والاستهلاك المحدود للطاقة من المميزات المهمة التي تمثل تحدياً حقيقياً لتلك المنظومات.

لغات البرمجة في الزمن الحقيقي

تتألف برمجيات منظومات الزمن الحقيقي غالباً من مجموعة برامج متسايرة. ويُعدّ اختيار لغة البرمجة أمراً مهماً في برمجيات الزمن الحقيقي، إذ ينبغي أن يكون المصِّرف compiler متاحاً ومتوافقاً مع نظام التشغيل والبنية العتادية. كما ينبغي أن يتيح التحكمَ المباشر في العتاد من دون التخلي عن تجريد اللغات العالية المستوى. ويُطلب من لغة البرمجة دعم إدارة الذاكرة والجدولة والتزامن ومعالجة الأحداث والإنهاء اللامتزامن للنياسب، واستخدام المنهجية الغرضية التوجه.

الشكل (1) النموذج البرمجي في منظومة الزمن الحقيقي

مكن برمجة هذه المنظومات بلغات التجميع الخاصة بمعالج الحاسوب الصغري، أو لغات التتابع المنطقي مثل Jovial وRTL2. ويُفضَّل أن تدعم اللغة الكيانات المتسايرة كما هي الحال في لغة Ada وJava.

يوضّح الشكل 1 النموذج المبسط للبرمجة؛ يستقبل البرنامج P حدثاً من محِسّ معين كل T وحدة زمنية، ويتطلب الحدث في الحالة الأسوأ زمناً قدره C وحدة زمنية لإنجازه. إذا كانت المهلة المطلقة للإنجاز هي D، وإذا كان D < C تعذر تنفيذ البرنامج.

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

نظم التشغيل في الزمن الحقيقي

يمكن تمثيل دور نظام التشغيل في منظومات الزمن الحقيقي، وفي المنظومات التقليدية في الشكل (2). ففي المنظومات التقليدية، يقدّم نظام التشغيل الخدمات اللازمة لنفاذ برنامج المستخدم إلى العتاد، ولكن في منظومات الزمن الحقيقي، يصبح بإمكان التطبيق النفاذ إلى العتاد مباشرة.

الشكل (2) دور نظام التشغيل

تقدّم نظم التشغيل في الزمن الحقيقي إمكانية التنفيذ الاستباقي preemptive اعتماداً على الأولويات، إذ يُسمح للمهمة ذات الأولوية الأعلى بمقاطعة المهمة الأدنى أولوية عندما تصبح جاهزة للتنفيذ. ولقياس أداء نظم التشغيل في الزمن الحقيقي، تُعتمد المعايير الآتية: الزمن الأعظم لحجب المقاطعة، والزمن الأعظم اللازم لاستدعاء النظام، وتلبث المقاطعة؛ أي الزمن الفاصل بين لحظة المقاطعة والبدء بتنفيذها.

تُعدّ جدولة المهمات من أهم ميزات نظم التشغيل في الزمن الحقيقي. وتُقسم خوارزميات الجدولة إلى نوعين رئيسين:

  • جدولة سكونية: تتضمن تحليل المهمات وتحديد الميزات الزمنية لوضع جدول ثابت للتنفيذ. في هذه الحالة، يكون ترتيب المهمات ثابتاً، وأزمنة تنفيذها محدَّدة. ومن الطرائق المتبعة لتحقيق ذلك:


الشكل (3) نظام تحكم في السائل بالزمن الحقيقي
  • دوران الحيز الزمني (الحلقية) round-robin time slot، بحيث يفحص المجدوِل رتل الإجراءات المنتظِرة، ويحصِّص الحيز الزمني للإجراءات الجاهزة للتنفيذ.
  • الجدولة مع الأولويات: تُرتَّب الأولويات المُسندة في هذه الحالة الى المهمات بحسب أهمية تنفيذها.
  • جدولة ديناميكية : وهي تتطلب اتخاذ مجموعة من القرارات في أثناء التنفيذ العملي لتحصيص الموارد إلى المداولات. تُعتَمد هذه الطريقة إذا كانت متطلبات الحوسبة تتغير تغيراً كبيراً في أثناء التنفيذ، وتسمح عندئذٍ هذه الخوارزميات بالتلاؤم مع التغيرات المحيطية، ووصول المهمات دفقياً، وإخفاق النظم جزئياً.

ومن الميزات الإضافية لنظام التشغيل في الزمن الحقيقي:

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

ومن نظم التشغيل الشهيرة في الزمن الحقيقي، يُذكر النظام pSOS، والنظام LynxOS، والنظام OS9.

أمثلة عن منظومات الزمن الحقيقي

يُذكر هنا ثلاثة أمثلة عن منظومات الزمن الحقيقي:

  • نظام التحكم في السائل:

يهدف هذا النظام إلى التحكم في كمية السائل المتدفق في أنبوب معين بوساطة الحاسوب. ويُستخدم لهذا الغرض مقياس تدفق دخلاً للحاسوب، وصمام للسائل خرجاً له. يستطيع البرنامج في الحاسوب قراءة قيم التدفق باستمرار، وإعطاء الأوامر المناسبة إلى الصمام بحسب قيم التدفق، كما هو موضّح في الشكل 3. [[ملف:|270px|left|تصغير|الشكل (4) التحكم في عملية صناعية بالزمن الحقيقيreal-time systems2.jpg]]

  • نظام التحكم في عملية صناعية:

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

ملف:Left
real-time systems3.jpg
  • نظام زمن حقيقي محمول:

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

انظر ايضاً

المصادر

وصلات خارجية

اللجان الفنية

مؤتمرات علمية

مجلات


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

بحث المجموعات

ورقات تقنية