ما هو نظام تشغيل الزمن الحقيقي (RTOS)؟
نظام تشغيل الزّمن الحقيقيّ هو عبارة عن نظام تشغيل مُخصص ليعمل في تطبيقات الزمن الفعلي التي تعالج البيانات فورَ وصولها، وغالباً بدون تأخير. الصيغة الكاملة للاختصار RTOS هي نظام تشغيل الزمن الحقيقي.
في أنظمة RTOS يستخدم عُشر الثانية كواحدة للقياس وقتَ المعالجة، وهو نظام محدد زمنياً، أي يمكن تحديده بما يُشابه قيوداً زمنيةً محددةً. في هذا النوع من الأنظمة، يجب أن تتم المعالجة خلال الفترة الزمنية المحددة وإلا يفشل النظام في أداء العمل.
سنلقي في هذا المقال الضوء على النقاط التالية:
- ما هي أنظمة تشغيل الزمن الحقيقي؟
- لماذا نستخدم أنظمة تشغيل الزمن الحقيقي؟
- مكونات أنظمة تشغيل الزمن الحقيقي.
- أنواع أنظمة تشغيل الزمن الحقيقي.
- المصطلحات المستخدمة في مجال نظم تشغيل الزمن الحقيقي.
- خصائص أنظمة تشغيل الزمن الحقيقي.
- عوامل اختيار نظام تشغيل الزمن الحقيقي.
- الفرق بين تطبيقات أنظمة تشغيل الزمن الحقيقي وأنظمة التشغيل للأغراض العامة.
- تطبيقات أنظمة تشغيل الزمن الحقيقي.
- عيوب أنظمة تشغيل الزمن الحقيقي.
لماذا نستخدم أنظمة تشغيل الزمن الحقيقي؟
- تقوم هذه الأنظمة بجدولةِ المهام حسب الأولويّة، ممّا يسمح لك بفصل المعالجة التحليليّة عن المعالجة غير الضرورية.
- يوفّر النظام وظائف واجهة تطبيقات المستخدم (API) والتي تسمح باستخدامِ أكوادٍ برمجيّة أبسطَ وأصغر.
- يؤدّي تقليل اعتماد المهام على بعضها زمنياً والتصميم القائم على المهام إلى التقليل من الاعتماد الزمني المتبادل بين الوحدات المختلفة.
- يُوفّر النظام تطويراً للوحدات على أساس مهامها، مما يسمح باختبار هذه الوحدات اعتماداً على المهام التي تقوم بها.
- تساعد واجهةُ برمجةِ التطبيقاتِ القائمة على المهام في مهمّة تطويرِ الوحدات باستخدامِ المهام نفسِها، حيث تكون لها أدوارٌ محددةٌ بوضوح، وتسمح للمُصمّمين أو الفرق بالعمل باستقلالية على أقسامهم من المشروع.
- يعمل نظام تشغيل الزمن الحقيقي دون أيّ إهدارٍ للوقت عند معالجة أيِّ حادثة، وبالتالي عدم حدوث ضياع في الزمن وهو ما قد يحصل في أنظمة أخرى.
مكونات نظم تشغيل الزمن الحقيقي:
يتكون نظام التشغيل بالزمن الفعلي من مُجدوِل المهمّات، والمعالجة المتعدّدة المتناظرة، ومُدير الذاكرة، بالإضافة إلى مجموعة أخرى من المكونات الهامة، وفيما يلي شرح موجز عن كل منها
- مُجدوِل المهمّات: يرتّب هذا العنصر مهام نظام تشغيل الزمن الحقيقي، والتي سوف يتم تنفيذها، وذلك يعتمد بشكل عام على الأولوية.
- المعالجة المتعدّدة المتناظرة: وهي عبارة عن عدّة مهام مختلفة يمكن إنجازها من قبل نظام تشغيل الزمن الحقيقي، ليكون قادراً على القيام بعمليات المعالجة المتوازية.
- مكتبة الوظائف: تعتبر عنصراً مهماً من عناصر نظم تشغيل الزمن الحقيقي، والتي تقوم بدورها كواجهة تساعدك على ربط عمليات نواةِ النظام بكود التطبيق. يسمح هذا التطبيق بإرسال الأوامر إلى نواة النظام باستخدام مكتبة الدَّوال وبالتالي يعطي التطبيق النتيجة المطلوبة.
- مُدير الذاكرة: يحتاج النظام هذا العنصر حتى يقوم بتوزيع الذاكرة على كل برنامج، وهو ما يعتبر أهم العناصر في انظمة تشغيل الزمن الحقيقي.
- زمن الإرسال السريع: وهو الزمن الفاصل بين إنهاء المهمة التي يمكن تحديدها بواسطة نظام التشغيل، والزمن الفعلي الذي تستغرقه سلسلة من الأوامر البرمجية، الموجودة في قائمة الانتظار والتي دخلت حيّز المعالجة.
- كائنات البيانات والفئات المحددة من قبل المستخدم: يستخدم نظام تشغيل الزمن الحقيقي لغات برمجة مثل: السي (C) ولغة السي بلس بلس (C++)، وبالتالي يتم تنظيم الكائنات والفئات تبعاً للعمليات المستخدمة فيها.
أنواع نظم تشغيل الزمن الحقيقي:
هناك 3 أنواع لنظم RTOS هي أنظمة التشغيل في الزمن الحقيقي الحرج، والحازم، والمرن، وإليك أهم المعلومات مع مثال توضيحي عن كل منها:
1-الزمن الحقيقي الحرج: في نظام تشغيل الزمن الحقيقي الحرج، يتم التعامل مع الموعد النهائي بصرامة؛ وهذا يعني أن المهام المطلوبة يجب أن تبدأ في وقت مجدول ومحدد، كما يجب إنجاز المهمة خلال الفترة الزمنية المحددة.
مثال: أنظمة العناية الطبية المشددة، أنظمة الطائرات.
2-الزمن الحقيقي الحازم: هذا النوع من أنظمة تشغيل الزمن الحقيقي يحتاج إلى أن يتقيّد بالموعد النهائي أيضاً. في كل الأحوال قد لا يُسبّب الموعد النهائي أضراراً كبيرة، لكنَّ ذلك قد يُسبب تأثيرات غير مرغوبة، مثل الانخفاض الكبير في جودة المنتج.
مثال: الأنواع المختلفة لتطبيقات الوسائط المتعددة.
3-الزمن الحقيقي المرن: يقبل نظام الزمن الحقيقي المرن بعض التأخيرات في نظام التشغيل.
في هذا النوع من نظم تشغيل الزمن الحقيقي هناك موعد نهائي لكنّه مُخصص لمهمة معيّنة، لكن التأخير لفترة زمنية معيّنة يُعتَبرُ مقبولاً، وبالتالي هناك مرونة في التعامل مع الموعد النهائي في هذا النوع من أنظمة التشغيل.
مثال: نظام المعاملات عبر الإنترنت ونظام وضع أسعار المواشي.
مصطلحات مستخدمة في مجال نظم تشغيل الزمن الحقيقي:
- المهمّة: هي عبارة عن مجموعة من المهام المتصلة مع بعضها والتي تؤمن القدرة بشكل مشترك على توفير بعض وظائف النظام.
- الوظيفة: الوظيفة هي جزء صغير من العمل يُمكن تخصيصه لمعالج، وقد يَتطلّب أو لا يَتطلّب استهلاكاً للموارد.
- وقت إصدار الوظيفة: هو الزمن الذي تصبح فيه الوظيفة جاهزة للتنفيذ.
- وقت تنفيذ الوظيفة: هو الزمن الذي تستغرقه الوظيفة لإنهاء تنفيذها.
- الموعد النهائي لتنفيذ مهمة: وهو الزمن الذي يجب أن تكون المهمة قد أُنجِزَت قبلهُ.
- المعالجات: وتُعرف أيضاً باسم الموارد النّشطة، وتعتبر المعالجات مهمّةً في تنفيذ وظيفة ما.
- الموعد النهائي الأقصى: هو وقت الاستجابة المسموح به لوظيفة ما ويطلق على ذلك موعدها النهائي النسبي.
- وقت استجابة الوظيفة: هو الفترة الزمنية التي تبدأ من وقت تحرير المهمّة إلى لحظة الانتهاء.
- الموعد النهائي المطلق: هذا هو الموعد النهائي النسبي، والذي يتضمن أيضاً وقت الاصدار.
مميّزات نظام RTOS:
يتميز نظام RTOS بإمكانية تقدير وقت الاستجابة، بالإضافة إلى توفير المساحة التخزينية، والموارد المستهلكة، وهذا ما يجعله مناسبًا للكثير من التطبيقات العملية. وبشكل عام يمكن تلخيص مميزات نظم الزمن الحقيقي بالنقاط التالية:
- إشغال مساحة أقلّ بكثير على الذاكرة.
- استهلاك موارد أقل.
- أوقات الاستجابة قابلة للتقدير بشكل كبير.
- بيئة غير مُتوقعة.
- تحتفظ نواةُ النظام بحالةِ المهمة التي تمّت مُقاطعتها ثم تُحدّد المهمة الواجب أداؤها تالياً.
- تقوم نواة النظام باسترجاع حالة المهمة وتمرّر التحكم في وحدة المعالجة المركزية لهذه المهمة.
عوامل اختيار نظام تشغيل RTOS:
هذه بعض العوامل الضرورية التي يجب أخذها بعين الاعتبار عند اختيار النظام:
الأداء: يُعتبر الأداء من أهم العوامل المطلوبة والتي يتم أخذها بعين الاعتبار عند اختيار نظام RTOS.
البرامج الوسيطة: إذا لم يكن هناك دعم للبرامج الوسيطة في نظام RTOS، فستظهر مشاكل استغراق الزمن خلال التكامل بين العمليات.
الخلو من الأخطاء: تُعتبر أنظمة تشغيل الزمن الحقيقي أنظمةً خاليةً من الأخطاء، لذلك لا تُوجد فرصة لحدوثِ خطأ أثناء أداءِ المهام.
استخدام النّظم المُدمجة: تُعتبر برامج نظام RTOS صغيرةَ الحجم. لذلك نحن نستخدم نظام RTOS على نطاق واسع في الأنظمة المدمجة.
أقصى استخدام: يمكننا تحقيق أقصى قدرٍ من الاستخدام للمواردِ بمساعدةِ نظامِ تشغيلِ الزمنِ الحقيقيّ.
زمن تحويل المهام: يُعتبر الزمن المستغرق في تحويل المهام قليلاً جداً.
ميزاتٌ فريدة: يجب أن يكون نظام الزمن الحقيقي قادراً على القيام بمهامه، وأن يملكَ بعض الميزاتِ الإضافية مثلَ كيفيّة عملهِ لتنفيذِ أمرٍ ما، وحماية ذاكرة النظام بشكلٍ فعّال، إلخ.
الأداء الدائم: نظام تشغيل الزمن الحقيقي يُعتبر مثالياً للتطبيقات التي تتطلّب عملاً مستمراً على مدار الساعة.
الفرق بين نظام التشغيل للأغراض العامّة ونظام تشغيل RTOS:
نظام تشغيل الزمن الحقيقي | نظام تشغيل للأغراض العامة |
يتم استخدامه في التطبيقات المدمجة فقط. | يتم استخدامه للحاسب المكتبي والحاسب المحمول. |
جدولة العمليات تبعاً للوقت مثل: الجدولة حسب خوارزمية راوند-روبن. | جدولة المهام تبعاً للعمليات. |
تأخر المقاطعة منخفض للغاية، لا يتعدى الأجزاء الميكروية للثانية. | لا يُعتبر تأخّر المقاطعة مهمَّا كما هو في نظام RTOS. |
آليّة التبديل حسب الأهمية موجودة مسبقاً. لذلك لا يمكن للنظام تعديلها. | لا يحتوي النظام على آلية تبديل حسب الأولوية. |
يمكن استباق عمليات نواة النظام | قد يتم استباق نواة النظام أو لا. |
لا يوجد ضمانات تجاه توقع النتائج. | تبقى آليّة التبديل حسب الأولويّة غير ملاحظة. |
تطبيقات نظام تشغيل الزمن الحقيقي:
يستخدم نظام الزمن في:
- أنظمة حجز شركات الطيران.
- نظام مُراقبة الحركة الجوية.
- الأنظمة التي تُوفّر التّحديث الفوري.
- تُستخدم في أي نظام يوفّر معلومات مُحدثة ودقيقة عن أسعار الأسهم.
- أنظمة تطبيقات الدفاع مثل: الرادارات.
- أنظمة الوسائط المتعددة المتّصلة بالشبكة.
- أنظمة الإنترنت الهاتفية.
- أنظمة الفرامل المانعة للانغلاق.
- منظّمات ضربات القلب.
سلبيات نظم RTOS:
فيما يلي نستعرض عيوب/سلبيات استخدام نظام تشغيل الزمن الحقيقي:
- يمكن لنظام تشغيل الزمن الحقيقي تشغيل عدد قليل من المهام الصغيرة مع بعضها البعض، ويركّز فقط على التطبيقات التي تحتوي على أي خطأ حتى يتمكن من تفاديها.
- يُعتبر نظام تشغيل الزمن الحقيقي من الأنظمة التي تركز على مهام قليلة، وبالتالي يعتبر من الصعب جداً على هذه الأنظمة القيام بمهام متعددة.
- تحتاج أنظمة تشغيل الزمن الحقيقي وجود برامج تشغيل محددة حتى تعمل، وذلك حتى تتمكن من توفير وقت استجابة سريع لإشارات المقاطعات، ممّا يُساعد في الحفاظ على سرعة هذه النظم.
- تستخدِم نظم تشغيل الزمن الحقيقي الكثير من الموارد، مما يجعلها مُكلفةً.
- تحتاج المهام ذات الأولوية المنخفضة إلى الانتظار لوقتٍ طويل حيث يُحافظ نظام تشغيل الزمن الحقيقي على دقّة البرنامج خلال التنفيذ.
- إن التبديل بين المهام في أنظمة التشغيل في الزمن الحقيقي تكون في الحد الأدنى.
- تستخدم هذه النظم خوارزميات معقّدة يصعب فهمها.
- تستخدم هذه النظم الكثير من الموارد، الأمر الذي قد لا يكون مناسباً للنظام أحياناً.
الملخّص :
- يُعتبر نظام تشغيل الزمن الحقيقي نظاماً يهدف إلى تشغيل التطبيقات في الزمن الفعلي، ويقوم بمعالجة البيانات فور وصولها، وغالباً دون تأخير.
- توفّر هذه النظم جدولة مهام حسب الأولوية، مما يسمح لك بفصل المعالجة التحليلية عن المعالجة غير الحرجة.
- مكونات نظام تشغيل الزمن الحقيقي الهامة هي: 1) مُجدول المهمات، 2) المعالجة المتعددة المتناظرة، 3) مكتبة الوظائف، 4) مدير الذاكرة، 5) زمن الانتقال السريع، 6) كائنات البيانات والفئات المحدّدة من قبل المستخدم.
- هناك ثلاثة أنواع من نظم تشغيل الزمن الحقيقي وهي نظم: 1) الزمن الحرج 2) الزمن الحازم، 3) الزمن المرن.
- يشغل نظام تشغيل الزمن الحقيقي ذاكرة أقل ويستهلك موارد أقل.
- الأداء هو أهم عامل يجب مراعاته أثناء اختيار نظام تشغيل الزمن الحقيقي.
- يُستخدم نظام التشغيل ذو الأغراض العامة لأجهزة الكمبيوتر المكتبية والكمبيوتر المحمول بينما يقتصر تطبيق نظام تشغيل الزمن الحقيقي فقط على التطبيقات المدمجة.
- تُستخدم أنظمة الزمن الحقيقي في نظم حجز الخطوط الجوية، ونظم مراقبة الحركة الجوية، وما إلى ذلك.
- أكبر عيب في نظام RTOS هو أن النظام يركّز فقط على عدد قليل من المهام.
ترجمة: | رهف المدني |
مراجعة: | لؤي أزدشير ديب |
تدقيق لغوي: | حنين غاليه |
تحرير: | رؤى حمود |