نظام رودوس التشغيلي  نظام رودوس هو نظام تشغيل في الوقت الفعلي للأنظمة المدمجة وتم تصميمه للتطبيقات التي تتطلب موثوقية عالية.  تم تطوير Rodos في المركز الألماني للفضاء وله جذوره في نظام التشغيل BOSS. يتم استخدامه لبرنامج الأقمار الصناعية الدقيقة الحالي لمركز الفضاء الألماني. يعمل النظام على القمر الصناعي التشغيلي TET-1 وسيتم استخدامه للقمر الصناعي BiROS المطوّر حالياً.  تم تعزيز رودوس وتوسيع نطاقه في المركز الألماني للفضاء وكذلك قسم تكنولوجيا المعلومات الفضائية في جامعة فورتسبورغ.  جانب مهم من Rodos هو الوسيطة المتكاملة في الوقت الحقيقي. يوفر تطوير برنامج التحكم والحمولة في الجزء العلوي من البرامج الوسيطة الحد الأقصى من الوحدات النمطية اليوم. يمكن تطوير التطبيقات / الوحدات بشكل مستقل ومن السهل جداً تبادل الوحدات فيما بعد دون القلق بشأن الآثار الجانبية، لأن كل الوحدات يتم تغليفها ككتل بناء (BB) ويمكن الوصول إليها ويمكنها الوصول إلى الموارد الأخرى فقط عن طريق واجهات محددة بشكل جيد.  تم تطبيق Rodos كإطار عمل برمجي في ++C مع واجهة تطبيق موجهة للكائنات (API). يتم تنظيمها في طبقات:  كما ذكر من قبل، كان الغرض الأصلي من رودوس هو التحكم في الأقمار الصناعية. وقد تم تصميمه ليكون بمثابة عقول نظام Avionic ويقدم للمرة الأولى (2001) مفهوم NetworkCentric. تتكون آلة إلكترونيات الطيران الأساسية للشبكة المركزية من عدة مكونات متجانسة تعمل معاً لتنفيذ الحوسبة الموثوقة بطريقة بسيطة. في نظام NetworkCentric، لدينا شبكة برمجيات من BBs ومركبات ربط الشبكة (اتصالات لاسلكية) وأجهزة كمبيوتر داخل المركبات (الحافلات وروابط نقطة إلى نقطة)، وأجهزة ذكية (مرفقة بالحافلات)، وأجهزة بسيطة متصلة بأجهزة الكمبيوتر الأمامية. للتواصل مع (العقدة) الوحدات الخارجية، بما في ذلك الأجهزة ووحدات الحوسبة الأخرى، توفر كل عقدة بوابة إلى الشبكة وحول الأجهزة العديدة الموجودة في الشبكة (قد يتم ربط أجهزة IO Devs وعقد الحوسبة) بالنظام. تبادل الرسائل التي توفرها الوسيطة والبوابات غير متزامن، باستخدام بروتوكول الناشر-المشترك. لم يتم إنشاء مسارات اتصال ثابتة ويمكن إعادة تكوين النظام بسهولة في وقت التشغيل. على سبيل المثال، يمكن تشغيل عدة نسخ متماثلة من البرنامج نفسه في عقد مختلفة ونشر النتيجة باستخدام نفس الموضوع، دون معرفة بعضها البعض. يمكن للناخب الاشتراك في هذا الموضوع والتصويت على النتيجة الصحيحة. يمكن أن ينتقل التطبيق من عقدة إلى عقدة أو حتى إلى مركبات أخرى دون الحاجة إلى إعادة تكوين نظام الاتصالات. يوزع جوهر البرامج الوسيطة الرسائل محلياً فقط، ولكن باستخدام البوابات المدمجة إلى شبكة NetworkCentric، يمكن أن تصل الرسائل إلى أي عقدة وتطبيق في الشبكة. يشتمل الاتصال في النظام بأكمله على تطبيقات البرامج وعقد الحوسبة وحتى أجهزة الإدخال / الإخراج. يقوم الناشرون بنشر الرسائل في إطار موضوع معين. يحصل المشتركون (صفر، واحد أو أكثر) في موضوع معين على جميع الرسائل التي يتم نشرها تحت هذا الموضوع. كما ذكرنا من قبل، لا يوجد فرق في هذا الاتصال في أي عقدة (وحدة أو جهاز حوسبة) يعمل الناشر والمشتركون وما بعدها، فقد يكونون أي مزيج من مهام البرامج وأجهزة الأجهزة لإنشاء مسار نقل، حيث يجب على كل من الناشر والمشترك مشاركة نفس الموضوع. الموضوع هو زوج يتكون من نوع بيانات وعدد صحيح يمثل معرف الموضوع. يقوم كل من البرنامج الوسيط ومفتاح شبكة الأجهزة (يطلق عليهما رمز التبديل الوسيطة) بتفسير نفس بروتوكول الناشر / المشترك.  يمكّن Rodos المستخدم من كتابة تطبيقات في الوقت الفعلي لمختلف البنيات بطريقة سهلة وفعالة. أثناء التطوير، تم إيلاء اهتمام خاص لتنفيذ الميزات المختلفة لـ Rodos بطريقة بسيطة ومع ذلك. تم تجنب التعقيد غير الضروري لتزويد المستخدم بنظام مباشر ومرتّب بشكل واضح. Rodos يدعم الميزات النموذجية لأنظمة التشغيل في الوقت الحقيقي، مثل المواضيع والإشارات.  من بين الميزات الأخرى التي يقدمها Rodos:   يشبه برنامج Hello world المثال المشترك في Rodos.   class HelloWorld : public Thread { } helloworld;  يستخدم Rodos "جدولة استباقية ذات أولوية عادلة" . يتم تنفيذ مؤشر الترابط ذي الأولوية العليا أثناء إيقاف تشغيل مؤشرات الترابط ذات الأولوية الأقل ( تعدد المهام الاستباقية ). إذا كان هناك أكثر من مؤشر ترابط واحد له نفس الأولوية، يحصل كل منهم على حصة ثابتة من وقت الحوسبة ويتم تنفيذها بالتناوب.  مثال:  class HighPriorityThread: public Thread{ public: } highprio;  class LowPriorityThread: public Thread { public:  } lowprio;  يستخدم Rodos ما يسمى "الموضوعات" لتمكين الاتصال بين مؤشرات الترابط وعبّارة بين أنظمة مختلفة. يمثل "الموضوع" رسالة من نوع معين. يمكن أن ينشر سلسلة الرسائل "مواضيع" وكذلك الاشتراك في "موضوع" لاستلام جميع الرسائل التي تنتمي إلى نوع الرسالة. يتوافق نظام الرسائل مع نمط النشر والاشتراك .  فيما يلي مثال بسيط مع ناشر واحد "ومشترك" واحد، يستخدم كلاهما "عداد" "الموضوعات" "1 الذي" يحتوي على قيمة عدد صحيح واحد فقط.  مثال:  Topic<long> counter1(-1, "counter1");  class MyPublisher : public Thread { public:  } publisher;  class MySubscriber : public SubscriberReceiver<long> { public: }subscriber;  أبنية مجموعة التعليمات المدعومة:   علاوة على ذلك، يمكن تشغيل Rodos كضيف على نظام تشغيل مضيف مختلف مثل: