ربما سمعت من قبل بما يسمى “نظام التشغيل في الوقت الفعلي RTOS”, فما هو هذا النظام؟ وهل هو مشابه لأنظمة التشغيل التي نعرفها ونتعامل معها بشكل يومي مثل ويندوز ويونكس؟
المحتويات:
1. ما هو نظام التشغيل في الوقت الفعلي؟
2. الفرق بين RTOS ونظام التشغيل OS.
3. فوائد ومميزات نظام التشغيل في الوقت الفعلي؟
4. الأمور الواجب مراعاتها عند اختيار النظام.
5. تأثير RTOS على تطوير التصميم.
6. تطبيقات عملية على نظام RTOS.
1. ما هو نظام التشغيل في الوقت الفعلي؟
يعتبر نظام التشغيل في الوقت الفعلي Real Time Operating System (RTOS) من المكونات البرمجية التي تنتقل ما بين المهام بسرعة. مما يعطي الإنطباع أن العديد من البرامج والمهام يتم تنفيذها في نفس الوقت على معالج واحد.
في الواقع, يمكن لنواة المعالج تنفيذ مهمة واحدة في كل مرة, وما يفعلة نظام التشغيل في الوقت الفعلي RTOS هو التبديل السريع ما بين المهام لإعطاء الإنطباع بأن العديد من المهام يتم تنفيذها في وقت واحد.
2. الفرق بين RTOS ونظام التشغيل OS.
الفرق الأساسي ما بين نظام التشغيل Operating System (OS) مثل ويندوز أو يونكس ونظام التشغيل في الوقت الحقيقي RTOS, هو وقت الإستجابة للأحداث الخارجية.
عادة ما يقوم نظام التشغيل بتوفير استجابة غير حتمية وسلسة في الوقت الفعلي, حيث أنه لا يوجد ضمانات بشأن موعد اكتمال كل مهمة موكلة لنظام التشغيل. لكن سيحاول النظام البقاء مستجيباً للمستخدم.
يختلف نظام RTOS من ناحية توفير استجابة سريعة ومتينة في الوقت الفعلي. مما يساعد على توفير رد فعل سريع وحتمي للغاية للمهام الموكلة إليه.
جدولة الخوارزميات.
عند التبديل بين المهام, يتعين على نظام التشغيل في الوقت الفعلي RTOS اختيار المهمة الأكثر ملائمة لجدولة تنفيذها. ويوجد هنالك العديد من خوارزميات الجدولة التي يحتويها النظام.
ومن خوارزميات الجدولة المستخدمة في RTOS هي خوارزميات Round Robin و Co-Operative والخوارزميات الهجينة. ومع ذلك, ولتوفير نظام سريع الإستجابة, تستخدم معظم هذه الأنظمة خوارزميات الجدولة الإستباقية Pre-Emptive.
المهام والأولويات.
في خوارزميات الجدولة الإستباقية Pre-Emptive, يتم إعطاء كل مهمة قيمة أولوية فردية خاصة بها, وكلما زادت سرعة الإستجابة المطلوبة, كلما زاد مستوى الأولوية المعين للمهمة.
وعند العمل في وضع الجدولة الإستباقية, تكون المهمة التي يتم اختيارها لتنفيذها هي المهمة ذات الأولوية القصوى. ينتج عن هذه الأمر نظام سريع وعال الإستجابة.
أمثلة على نظام RTOS.
من الأمثلة الشائعة على أنظمة التشغيل في الوقت الفعلي:
- RT Linux.
- LynxOS.
- Windows CE.
إقرأ أيضاً… ما هو الأمن السيبراني (Cybersecurity)؟
3. فوائد ومميزات نظام التشغيل في الوقت الفعلي؟
يوجد هنالك العديد من التقنيات الراسخة لتابة برامج مضمنة جيدة دون الحاجة لاستخدام نظام RTOS. لكن في بعض الحالات, قد توفر هذه التقنيات الحل الأنسب.
لكن كلما أصبح الحل أكثر تعقيداً, تصبح فوائد ومميزات نظام RTOS أكثر وضوحاً. ومن فوائد ومميزات هذا النظام:
- الجدولة القائمة على الأولوية.
تعتبر القدرة على فصل المعالجة الحرجة Critical Processing عن المعالجة غير الحرجة من الأدوات القوية لهذا النظام.
- إستخلاص معلومات التوقيت.
يعتبر نظام RTOS مسؤولاً عن التوقيت وتوفير وظائف واجهات برمجة التطبيقات API. يسمح هذا الأمر بأن يكون الكود البرمجي للتطبيق أنظف وأصغر.
- قابلية الصيانة والتوسعة.
يساعد استخلاص تبعيات التوقيت والتصميم المستند إلى المهام إلى تقليل الترابط بين الوحدات النمطية Modules, هذا الأمر يساعد على تسهيل عمليات الصيانة.
- النمطية.
تساعد واجهة برمجة التطبيقات API القائمة على المهام على التطوير المعياري. حيث أن المهمة تمتلك دوراً محدداً بشكل واضح.
- تعزيز تطوير الفريق.
يسمح النظام القائم على المهام للمصممين بالعمل بشكل مستقل على أجزاء المشروع الخاصة بهم.
- سهولة إجراء الإختبارات.
يسمح التطوير المعياري القائم على المهام بإجراء اختبار معياري قائم على المهام Modular Task Testing.
- إعادة استخدام الكود.
من الفوائد الأخرى لنظام التشغيل في الوقت الفعلي هي أن التطبيقات المماثلة الموجودة على منصات مماثلة ستؤدي إلى تطوير مكتبة من المهام القياسية Standard Tasks.
- معالجة الخمول.
يتم تنفيذ المعالجة في الخلفية Background Processing أو المهام الخاملة IDLE Processing في الخلفية. يضمن هذا الأمر أن أشياء مثل قياس حمل وحدة المعالجة المركزية CPU وفحص الخلفية CRC لن يؤثر على المعالجة الرئيسية.
4. الأمور الواجب مراعاتها عند اختيار النظام.
قبل البحث عن نوع نظام التشغيل في الوقت الفعلي الذي ترغب في استخدامه, هنالك بعض الأمور الواجب مراعاتها قبل اختياره, ومن أهمها:
إستجابة النظام.
ستحدد خوارزمية جدولة RTOS ووقت الإستجابة والتبديل بشكل كبير استجابة النظام وحتميته. ومن أكثر الإعتبارات أهمية هو نوع الاستجابة المرغوبة.
يعني هذا الأمر وجود مواعيد نهائية محددة بدقة, وفي حال لم يتم الوفاء بها سوف تتسبب في فشل النظام. وفي هذه الحالة لن يكون هنالك ضمانات بخصوص موعد إكمال كل مهمة.
موارد النظام المتاحة.
تستخدم Micro Kernals الحد الأدنى من موارد النظام وتقوم بتوفير وظائف جدولة مهام محدودة, ولكنها أساسية. وتقدم Micro Kernals بشكل عام استجابة صلبة في الوقت الفعلي.
كما تستخدم على نظاق واسع مع المعالجات الدقيقة المضمنة ذات سعة ROM و RAM محدودة. لكنها يمكن أن تكون مناسبة أيضاً لأنظمة المعالجات المدمجة الأكبر.
بدلاً من ذلك, يمكن استخدام نظام تشغيل كامل الميزات مثل لينوكس أو ويندوز سي إي WinCE. حيث أن هذه الأنظمة تقوم بتوفير بيئة نظام تشغيل غني بالمميزات, ويتم توفيرها عادة مع برامج التشغيل ومكونات واجهة المستخدم الرسومية GUI والبرمجيات الوسيطة.
وتعد أنظمة التشغيل كاملة الميزات أقل استجابة بشكل عام, كما أنها تتطلب ذاكرة أكبر وقدرة معالجة أكبر, وتستخدم بشكل أساسي في المعالجات المضمنة Embedded Processors القوية, حيث تكون موارد النظام وفيرة.
مفتوحة المصدر أم مرخصة.
يوجد هنالك أنظمة تشغيل في الوقت الفعلي مجانية ومفتوحة المصدر ومستخدمة على نطاق واسع ويتم توزيعها بموجب تراخيص GPL أو تراخيص GPL المعدلة. ومع ذلك, قد تحتوي هذه التراخيص على قيود نسخ ولا تقدم سوى القليل من الحماية.
تقوم منتجات RTOS المرخصة مهنياً بإزالة القيود المفروضة على النسخ المجانية مفتوحة المصدر, وتقوم بتقديم تعويضات وضمانات كاملة عن انتهاك حقوق الملكية الفكرية. كما أن الشركة المصممة للنظام تتحمل كامل المسؤولية عن جودته.
جودة النظام.
تعتبر جودة النظام من أهم المعايير. حيث أن الشركات المصممة للأنظمة المدفوعة ذات التراخيص المهنية تسعى عادة إلى الحصول على شهادات الجودة, ومنها شهادة ISO 9001.
شهادة السلامة.
تكون شهادات RTOS معتمدة وقابلة للمصادقة للتطبيقات التي تتطلب شهادة لمعايير التصميم الدولية مثل DO-178C و IEC 61508.
كما أنها تقوم بتوفير ميزات السلامة الرئيسية ودليل التصميم المطلوب من قبل هيئات إصدار الشهادات لتأكيد أن العملية المستخدمة لتطوير النظام تفي بمعايير التصميم.
البائع والترخيص.
الشركة التي تقف وراء نظام RTOS لا تقل أهمية عن النظام نفسه. فأنت بحاجة إلى شراء النظام من مورد موثوق ومعترف به.
إقرأ أيضاً… ما هي الكوكيز Cookies أو ملفات تعريف الإرتباط في الإنترنت ؟
5. تأثير RTOS على تطوير التصميم.
يمكن لاختيار نظام RTOS التأثير بشكل كبير على تطوير التصميم, ومن خلال اختيار النظام المناسب, يمكن للمطور الحصول على:
- تصميم قائم على المهام, ويعزز الوحدات النمطية Modules ويبسط الإختبار ويشجع على إعادة استخدام الكود.
- بيئة تساعد على تسهيل التطور المنسق ما بين الفرق الهندسية والمبرمجين.
- تجريد سلوك التوقيت Timing Behavior من السلوك الوظيفي Functional Behavior, والذي يؤدي إلى إنتاج كود برمجي أصغر, ويساعد على الإستخدام الأكثر كفاءة للموارد المتاحة.
يعتبر الدعم المحيطي واستخدام الذاكرة والوقت الفعلي من الميزات الرئيسية التي تحكم ملائمة نظام RTOS. وسيؤدي استخدام النظام الخاطئ إلى الإضرار بشدة بتصميم المنتج النهائي وقابليته للتطبيق.
يجب أن يكون النظام عال الجودة وسهل الإستخدام. فالمطور لا يريد أن يواجه مشاكل متعلقة بالنظام, لذا يجب أن يكون مصدر النظام موثوقاً بحيث يمكن للمطور الإعتماد عليه.
6. تطبيقات عملية على نظام RTOS.
تستخدم أنظمة التشغيل في الوقت الفعلي في العديد من التطبيقات العملية مثل:
- نظام حجز شركات الطيران.
- نظام مراقبة الحركة الجوية.
- الأنظمة التي توفر التحديث الفوري.
- الأنظمة التي توفر معلومات محدثة ودقيقة عن أسعار الأسهم.
- أنظمة تطبيقات الدفاع مثل RADAR.
- أنظمة الوسائط المتعددة الشبكية.
- جهاز تنظيم ضربات القلب.
- أنظمة التحكم في القيادة.
- الإتصال الهاتفي عبر الإنترنت.
- أنظمة الفرامل المانعة للإنغلاق.
المصادر:
[1] GeeksForGeeks.org – Real Time Operating System (RTOS)
[2] SearchDataCenter.techtarget.com – What is real-time operating system (RTOS)
[3] eNotes.com – What are some examples of real time operating systems