- ما هو نظام RTOS؟
- لماذا RTOS ؟؟
- الفرق بين نظام التشغيل في الوقت الحقيقي ونظام التشغيل
- أنواع RTOS
- فوائد استخدام نظام RTOS المجاني
- بعض القضايا الرئيسية المتعلقة بـ RTOS
- كيفية استخدام نظام RTOS
تحتوي الأنظمة المضمنة على مجموعة واسعة من التطبيقات في جميع الأجهزة الإلكترونية من حولنا ، ومن الأمثلة الواضحة على ذلك الكمبيوتر المحمول المصغر الذي نحمله معنا طوال الوقت ، نعم أنا أشير إلى هواتفنا المحمولة.
عندما يظهر نظام مضمن في الصورة ، فهو دائمًا مزيج من الأجهزة مثل Microcontrollers أو Microprocessors والبرامج مثل البرامج الثابتة أو نظام التشغيل. يشكل نظام التشغيل أساس جميع الأجهزة الإلكترونية ويدير كل من الأجهزة والبرامج داخل أي جهاز إلكتروني. لا يقتصر مصطلح نظام التشغيل على أنظمة التشغيل Unix و Windows لأجهزة الكمبيوتر فحسب ، بل يمكن أن يمتد أيضًا ليشمل المتحكمات الدقيقة. يُطلق على أحد أنظمة التشغيل التي يمكن تشغيلها على وحدات التحكم الدقيقة نظام التشغيل في الوقت الحقيقي. هنا سنتعرف على RTOS وتطبيقات نظام التشغيل في الوقت الفعلي.
ما هو نظام RTOS؟
يوفر نظام التشغيل في الوقت الحقيقي المعروف باسم RTOS وحدة التحكم مع القدرة على الاستجابة للمدخلات وإكمال المهام خلال فترة زمنية محددة بناءً على الأولوية. من النظرة الأولى ، قد يبدو نظام RTOS مثل أي برنامج أو برنامج ثابت آخر ، ولكنه مبني على بنية نظام التشغيل. وبالتالي ، مثل أي نظام تشغيل ، يمكن لـ RTOS أن تسمح لبرامج متعددة بالتنفيذ في نفس الوقت لدعم تعدد الإرسال. كما نعلم ، فإن جوهر المعالج أو وحدة التحكم يمكنه تنفيذ تعليمات واحدة فقط في كل مرة ، لكن RTOS لديه شيء يسمى المجدولالذي يقرر أي التعليمات يجب تنفيذها أولاً وبالتالي ينفذ تعليمات برامج متعددة واحدًا تلو الآخر. من الناحية الفنية ، فإن نظام RTOS يخلق فقط وهمًا بأخذ متعدد من خلال تنفيذ تعليمات متوازية واحدًا تلو الآخر.
هذا يجعل نظام RTOS مناسبًا للعديد من التطبيقات في العالم الحقيقي. في RTOS لأي إدخال كلما تم تقييم المنطق الذي يعطي المخرجات المقابلة. يُقاس هذا المنطق ليس فقط على أساس الإبداع المنطقي ولكن أيضًا على أساس المدة الزمنية التي تم خلالها تنفيذ المهمة المحددة. إذا فشل النظام في أداء المهمة في تلك المدة الزمنية المحددة ، يُعرف باسم فشل النظام.
لماذا RTOS ؟؟
- توفر برامج التشغيل: هناك العديد من برامج التشغيل المتاحة داخل RTOS ، مما يسمح لنا باستخدامها مباشرة لمختلف التطبيقات.
- الملفات المجدولة: يعتني نظام RTOS بالجدولة ، لذا بدلاً من التركيز على جدولة أي نظام ، يمكننا ببساطة التركيز على تطوير التطبيق. على سبيل المثال ، تُستخدم ملفات جدولة المهام لتحديد إجراءات معينة عندما يتم استيفاء مجموعة من الشروط. يستخدم نظام RTOS بعض الخوارزميات المتقدمة لجدولة حالات التشغيل والجاهزة والمحظورة التي تعمل بشكل نموذجي والتي تركز أثناء تشغيل RTOS على تطوير التطبيقات بدلاً من الجدولة.
- مرونة إضافة الميزات: ضمن نظام RTOS حتى إذا كنت ترغب في إضافة ميزات جديدة ، يمكنك ببساطة إضافتها دون الإخلال بالميزات الحالية
الفرق بين نظام التشغيل في الوقت الحقيقي ونظام التشغيل
هناك اختلافات مختلفة بين نظام التشغيل في الوقت الفعلي وأنظمة التشغيل مثل Windows و Linux وما إلى ذلك. دعونا نلقي نظرة عليها واحدة تلو الأخرى بمساعدة تنسيق الجدول:
لا | نظام التشغيل | نظام الوقت الحقيقي |
1 | تقاسم الوقت هو أساس تنفيذ العمليات في نظام التشغيل | يتم تنفيذ العمليات على أساس ترتيب أولويتها |
2 | يعمل نظام التشغيل كواجهة بين الأجهزة والبرامج الخاصة بالنظام | تم تصميم نظام الوقت الحقيقي ليتم تنفيذه لمشاكل العالم الحقيقي |
3 | لا تعد إدارة الذاكرة مشكلة مهمة عندما يتعلق الأمر بتنفيذ نظام التشغيل | تعد إدارة الذاكرة أمرًا صعبًا لأنه بناءً على تخصيص ذاكرة إصدار الوقت الفعلي ، وهو أمر بالغ الأهمية بحد ذاته |
4 | التطبيقات: مكتب ، مراكز بيانات ، نظام للمنزل ، إلخ | التطبيقات: التحكم بالطائرات أو المفاعلات النووية ومعدات البحث العلمي |
5 | أمثلة: Microsoft Windows و Linux و OS | أمثلة: Vx Works و QNX و Windows CE |
أنواع RTOS
يمكننا تصنيف نظام التشغيل في الوقت الحقيقي بشكل رئيسي إلى ثلاثة أجزاء هي
- نظام تشغيل صعب في الوقت الحقيقي
- نظام تشغيل ناعم في الوقت الحقيقي
- نظام تشغيل ثابت في الوقت الحقيقي
1. نظام تشغيل صعب في الوقت الحقيقي
لنبدأ في فهم هذا النوع من أنظمة التشغيل باستخدام مثال ، المثال الحي له هو نظام التحكم في الطيران. داخل نظام التحكم في الطيران ، أيا كانت المهام التي يعطيها الطيار في شكل مدخلات ، يجب تنفيذها في الوقت المحدد. في الوقت الحقيقي الصعب نظام التشغيل ، يمكن التسامح مع فشل النظام. ميزات RTOS الصلبة هي:
- لأداء المهام في الوقت المحدد
- عدم الوفاء بالموعد النهائي أمر قاتل
- ضمان وقت استجابة أسوأ للحالة
- يمكن أن يؤدي إلى فشل النظام
2. نظام تشغيل ناعم في الوقت الحقيقي
أسهل مثال على استخدام نظام RTOS الناعم هو قاعدة البيانات عبر الإنترنت ، حيث أن المعلمة التي نشعر بالقلق حيالها هي السرعة. ومن ثم ، فإن ميزات RTOS الناعمة هي:
- يجب تنفيذ المهام في أسرع وقت ممكن
- التأخر في إنجاز المهام أمر غير مرغوب فيه ولكنه ليس قاتلاً
- هناك احتمال تدهور الأداء
- لا يمكن أن يؤدي إلى فشل النظام
3. نظام تشغيل ثابت في الوقت الحقيقي
يمكن اعتبار الذراع الروبوتية التي تستخدم لاختيار الأشياء من بين أمثلة شركة RTOS. هنا ، داخل هذه الشركة RTOS حتى لو تأخرت العملية ، يتم التسامح معها.
فوائد استخدام نظام RTOS المجاني
فيما يلي مزايا استخدام RTOS في تطبيقاتك.
- لا توجد مشاكل في جدار الحماية
- نطاق ترددي منخفض لتحسين الأداء
- تحسين الأمان والخصوصية
- تكلفة منخفضة ، بسبب انخفاض مكونات الأجهزة والبرامج المستخدمة في التطوير
بعض القضايا الرئيسية المتعلقة بـ RTOS
الآن ، على الرغم من وجود العديد من المزايا لـ RTOS في تطبيقات العالم الحقيقي ، إلا أن لها عيوبًا مختلفة أيضًا. تتم مناقشة بعض القضايا المتعلقة بها هنا.
- تُستخدم المقاطعات عادةً في البرامج لإيقاف تنفيذ البرنامج لتحويل التدفق إلى جزء مهم آخر من الكود. هنا ، ضمن RTOS لأن وقت الاستجابة السريع مطلوب ؛ يوصى بتعطيل المقاطعات لأقل وقت ممكن.
- نظرًا لأن النواة يجب أن تستجيب أيضًا للأحداث المختلفة ، فمن الضروري أن يكون لها حجم أقل من النواة بحيث تتناسب بشكل صحيح مع ROM
- يجب إزالة الميزات المتطورة لـ RTOS حيث لا يوجد مفهوم للذاكرة الافتراضية داخلها.
كيفية استخدام نظام RTOS
الآن بعد أن عرفت ما هو RTOS وأين يمكنك استخدامه ، لتبدأ مع RTOS ، يتعين عليك عادةً استخدام بيئة تطوير Tornado أو FreeRTOS. دعونا نلقي نظرة سريعة على كل من بيئة التطوير هذه.
تورنادو - VxWorks
Tornado هي بيئة متكاملة لتطوير تطبيقات RTOS المضمنة ذات الصلة بالوقت الحقيقي على النظام المستهدف. يتكون الإعصار من ثلاثة عناصر أساسية مذكورة أدناه.
1) VxWorks
2) أدوات بناء التطبيقات (المترجم والبرامج المرتبطة)
3) بيئة تطوير متكاملة ، يمكنها إدارة تطبيق VxWorks وتصحيحه ومراقبته
VxWorks هو نظام تشغيل متصل بالشبكة في الوقت الفعلي. للبدء بـ VxWorks ، يجب أن يكون لدينا مجموعة تطوير واحدة (هدف) مع محطة عمل واحدة. هنا ، أدوات التطوير ليست سوى المضيف أو المكون المستهدف الذي يتصل بالخادم الهدف على محطة العمل. الهدف هنا يربط أدوات tornado مثل shell و مصحح الأخطاء. لذلك، وذلك باستخدام VxWorks سنقوم تكوين وبناء النظم في حين تورنادو يوفر لنا واجهة المستخدم الرسومية و سطر الأوامر أدوات التكوين والبناء.
النقطة المهمة جدًا التي تظهر هنا هي أنه أثناء تثبيت tornado داخل نظامك ، يجب أن يستخدم دليل التثبيت
أسماء المسار على النحو التالي: installDir / target. على سبيل المثال ، إذا كنت ترغب في تخزين إعصارك في C: \ tornado على مضيف windows ، فيجب تحديد اسم المسار الكامل في هذه الحالة على أنه installDir / target / h / vxworks.h.
هنا ، لن نناقش بالتفصيل ميزات أعمال Vx (سنترك ذلك للدرس التالي) لكننا سنناقش كيف يمكن إجراء التطوير باستخدام C ++ داخل Vxworks باستخدام WindRiver GNU. يساعدنا WindRiver GNU في تقديم تحليل رسومي فيما يتعلق بالمقاطعة المتضمنة أثناء التنفيذ بالإضافة إلى تقرير استخدام الذاكرة.
على سبيل المثال ، توضح طريقة العرض المذكورة أعلاه لـ WindRiver رقم المعالج المرتبط إلى جانب أولوية المهام (tLowPri & tHighPri). حالة الخمول ، أي خط اللون الأخضر ، حددت الفترة الزمنية التي لا يعمل فيها المعالج ، والتي لوحظت بعد كل بضع ثوانٍ. t1، t7، t8 & t9 ليست سوى المعالجات المختلفة المستخدمة. هنا ، نختار معالج t7 فقط.
وبالتالي ، فإن Windriver هذا قادر على استدعاء كل من VxWorks والإجراءات الفرعية لوحدة التطبيق. يمكنك تشغيل تطبيق Windriver إما من شريط أدوات إطلاق tornado (-> زر i) لاحقًا ، انقر فوق القائمة ثم انقر فوق shell. أخيرًا ، من موجه الأوامر ، اكتب "> خادم هدف الرياح".
الآن للبرمجة باستخدام C ++ ، من المهم تضمين مكون INCLUDE_CPLUS_DEMANGLER ، يسمح مكون demangler هذا لرموز shell المستهدفة بإرجاع أشكال قابلة للقراءة البشرية لأسماء رموز C ++. قبل تنزيل وحدة C ++ على الهدف Vxworks ، اتبع العملية المعروفة باسم المضغ. هنا ، يشير المضغ إلى خطوة معالجة المضيف الإضافية.
قم بتجميع البرنامج المصدر للتطبيق C ++ والحصول على ملف hello.cpp على سبيل المثال. قم بتشغيله لاحقًا للقضم على ملف o ثم تجميع ملف ctdt.c الذي تم إنشاؤه. علاوة على ذلك ، اربط التطبيق بـ ctdt.o لإنشاء وحدة قابلة للتنزيل ، hello.out داخل VxWorks. سيكون الإخراج بعد تنفيذ برنامج VxWorks عبارة عن ملف إنشاء سيتم استخدامه في بعض الأهداف.
RTOS مجاني
بشكل عام ، عندما نبدأ بـ RTOS ، نفضل بشكل عام Vx Works RTOS. ولكن ، هنا دعونا نجري مناقشة باختصار فيما يتعلق بـ RTOS المجاني ، والذي يمكن استخدامه أيضًا من قبل المبتدئين لتصفح مفهوم نظام التشغيل في الوقت الفعلي. تم تطوير نظام RTOS المجاني بواسطة Richard Barry وفريق FreeRTOS ، كما أنه مملوك من قِبل Real time Engineers ltd ولكنه مجاني للاستخدام ويمكن تنزيله ببساطة من خلال النقر على الرابط أدناه
تنزيل ROTS مجانًا
أحدث إصدار من نظام RTOS المجاني قيد الاستخدام في وقت هذه المقالة هو الإصدار 10 ، ويشار إليه على أنه FreeRTOS V10.
أكبر ميزة لـ RTOS المجانية التي تجعلها متفوقة من حيث RTOS الأخرى هي سلوكها المستقل في النظام الأساسي من حيث الأجهزة ، أي أن كود c الذي سنستخدمه لتنفيذ نظام تشغيل يمكن أن يعمل على منصات مختلفة لها بنية مختلفة. لذلك ، بغض النظر عما إذا كنت تستخدم متحكم 8051 أو أحدث متحكم ARM ، فإن الكود الذي كتبته مع عملية التنفيذ سيكون مشابهًا لكليهما.
هناك العديد من الفوائد الأخرى لاستخدام RTOS المجاني عبر أعمال Vx وأدوات تشغيل RTOS الأخرى. يمكن ذكر بعضها على النحو التالي:
- يوفر اختبارًا أسهل
- يعزز مفهوم إعادة استخدام الكود
- وقت خمول أقل
- سهولة الصيانة
- تلخيص معلومات التوقيت
أيضًا ، فإن Kernel الأساسي ، حيث يشير Kernel إلى المكون المركزي لنظام التشغيل الموجود داخل RTOS المجاني يجعله متاحًا للاستخدام في تطبيقات مختلفة. نظرًا لأنه من السهل إرفاق وحدات موسعة بأنظمة التشغيل للحصول على المزيد من التطبيقات ، يصبح نظام RTOS المجاني أكثر قوة.
يمكن شرح أحد أمثلة استخدام نظام RTOS المجاني باستخدام مفهوم الجمع بين نظام التشغيل RTOS المجاني و Nabto. Nabto هو جهاز ويب مجاني يستخدم لنقل المعلومات من الجهاز إلى المتصفح.
لذلك فإن الجمع بين Free RTOS و Nabto يجعله جزءًا صغيرًا من كود C كما هو موضح في الشكل أ. في أيامنا هذه ، أصبح إنترنت الأشياء (IOT) في الاتجاه السائد وكل جهاز IOT سنصل إليه يحتوي على عنوان URL فريد عبر الإنترنت ، وتسمح التكنولوجيا باتصالات آمنة ومنخفضة للغاية من نقطة إلى نقطة. في حالة عدم وجود اتصال بالإنترنت ، يمكن أن يكون هذا المزيج مفيدًا. لذلك ، يعد نظام RTOS المجاني خيارًا شائعًا عندما يتعلق الأمر بتنفيذ IOT.