लिनक्स के बजाय QNX या VxWorks जैसे RTOS का उपयोग करने के लाभ?


15

एक ऐसे समाधान को विकसित करने के लिए जिसे वास्तविक समय के ऑपरेटिंग सिस्टम की आवश्यकता होती है, लिनक्स के ऊपर QNX या VxWorks जैसे ऑपरेटिंग सिस्टम को क्या फायदे होंगे?

या इसे दूसरे तरीके से रखने के लिए, क्योंकि ये ऑपरेटिंग सिस्टम विशेष रूप से वास्तविक समय, एम्बेडेड उपयोग के लिए डिज़ाइन किए गए हैं - जैसा कि लिनक्स के विपरीत है जो एक अधिक सामान्य प्रणाली है जिसे वास्तविक समय के उपयोग के अनुरूप बनाया जा सकता है - जब आपको किसी एक का उपयोग करने की आवश्यकता होगी लिनक्स के बजाय ये ऑपरेटिंग सिस्टम?

जवाबों:


14

कुछ एम्बेडेड सिस्टम (ए) को मुश्किल वास्तविक समय की आवश्यकताओं को पूरा करने की आवश्यकता है, और अभी तक (बी) में बहुत सीमित हार्डवेयर हैं (जो उन आवश्यकताओं को पूरा करने के लिए और भी कठिन बनाता है)।

यदि आप हार्डवेयर को बदल नहीं सकते हैं, तो ऐसी कई स्थितियाँ हैं, जहाँ आपको लिनक्स पर शासन करने और इसके बजाय कुछ और उपयोग करने के लिए मजबूर किया जाता है:

  • शायद सीपीयू में एक एमएमयू भी नहीं है, जो लिनक्स को चलाना असंभव बनाता है (यूक्लिनक्स को छोड़कर, और जहां तक ​​मुझे पता है कि यूक्लिनक्स वास्तविक समय नहीं है)।
  • शायद सीपीयू अपेक्षाकृत धीमा है, और लिनक्स में सबसे खराब स्थिति में बाधा विलंबता कुछ कठिन आवश्यकता को पूरा करने में विफल रहती है, और कुछ अन्य आरटीओएस जो बेहद कम सबसे खराब-केस रुकावट विलंबता के लिए देखते हैं, आवश्यकता को पूरा कर सकते हैं।
  • शायद सिस्टम में बहुत कम रैम है। कुछ साल पहले, लगभग 2 एमबी रैम के लिए न्यूनतम लिनक्स सेटअप की आवश्यकता होती है; एक न्यूनतम ईकोस सेटअप (एक अनुकूलता परत के साथ इसे कुछ अनुप्रयोगों को चलाने के लिए जो मूल रूप से लिनक्स पर चलाने के लिए डिज़ाइन किया गया है) को लगभग 20 kB RAM की आवश्यकता होती है।
  • शायद आपके हार्डवेयर में लिनक्स का कोई पोर्ट नहीं है, और आपके सिस्टम को लॉन्च करने की आवश्यकता से पहले लिनक्स को पोर्ट करने के लिए पर्याप्त समय नहीं है। कई सरल आरटीओएस लिनक्स की तुलना में नए हार्डवेयर को पोर्ट करने में बहुत कम समय लेते हैं।

विभिन्न RTOS के बीच किस प्रकार का कोड पोर्टेबल है? मैंने यह भी सुना है कि कुछ समाधान टॉप-डाउन (आरटीओएस का उपयोग करते हुए) हैं, जबकि अन्य नीचे-ऊपर निर्मित होते हैं (ओएस सुविधाओं को नंगे धातु में जोड़ते हैं जैसे कि आपको उनकी आवश्यकता होती है)।
CMCDragonkai

@CMCDragonkai: ईएल / आईएक्स एपीआई पर लिखे गए प्रोग्राम किसी भी ईएल / आईएक्स-संगत ओएस पर चल सकते हैं। POSIX API पर लिखे गए प्रोग्राम किसी भी POSIX- संगत OS पर चल सकते हैं। यूआईट्रॉन एपीआई के लिए लिखे गए प्रोग्राम किसी भी यूआईट्रॉन-संगत ओएस पर चल सकते हैं।
डेविड कैरी

@CMCDragonkai: शायद विभिन्न RTOS के बारे में सवाल पूछने के लिए programmers.stackexchange.com अधिक उपयुक्त जगह होगी?
डेविड कैरी

8

मैंने कोई भी वास्तविक समय काम नहीं किया है इसलिए इसे नमक के दाने के साथ लें ...

मुझे बताया गया है कि "वास्तविक समय" की दो श्रेणियां हैं: कठिन वास्तविक समय और नरम वास्तविक समय।

"सॉफ्ट रियल-टाइम" अनौपचारिक रूप से इसका अर्थ है "इसे जितना जल्दी हो सके उतना जल्दी पूरा करें"। मुझे लगता है कि आधुनिक सीपीयू पर लिनक्स इस तरह की चीज के लिए अच्छा है।

"कठिन वास्तविक समय" अनौपचारिक रूप से इसका मतलब है "इसे एक आवश्यक समय विंडो के भीतर करें"। खिड़की काफी छोटी, मिलीसेकंड या कुछ और हो सकती है। क्रूज मिसाइलों या उपग्रह प्रक्षेपण वाहनों के लिए उड़ान नियंत्रण प्रणाली विहित उदाहरण की तरह लगती हैं। औद्योगिक प्रक्रिया नियंत्रण प्रणालियों को भी इसकी आवश्यकता हो सकती है। स्टक्सनेट कीड़ा उन प्रणालियों में हस्तक्षेप करता है जो इस तरह के नियंत्रण को करते हैं।

आप बाद की स्थिति में RTOS का उपयोग करेंगे। RTOS अक्सर कई निर्देशों या घड़ी की टिकियों या जो भी हो, उससे कम में एक अवरोधक देने की गारंटी देता है।

एक और विचार यह हो सकता है कि आरटीओएस को डिज़ाइन किया गया है, परीक्षण किया गया है और / या "साबित" किया गया है कि बिना बंधे स्टैक स्पेस का उपभोग न करें। यह स्मृति की एक निश्चित न्यूनतम राशि के अंदर रह सकता है, और एक "OOM किलर" जैसी चीजें मौजूद नहीं होती हैं क्योंकि उन्हें कभी भी ज़रूरत नहीं होती है। प्रारंभिक फोरट्रान की कुछ नासमझ विशेषताएं इस प्रकार की आवश्यकता से आती हैं। जब आप एक फोरट्रान II कार्यक्रम संकलित करते हैं, तो आप वास्तव में जानते थे कि आपको कितना स्टैक और कितनी आवश्यकता है, क्योंकि आप पुनरावृत्ति नहीं कर सकते थे, और आप गतिशील रूप से कुछ भी आवंटित नहीं कर सकते थे।

वास्तविक रूप से, दूसरा विचार (गारंटी अधिकतम मेमोरी खपत) कुछ सुरक्षा-महत्वपूर्ण अनुप्रयोगों में "0.001 सेकंड की गारंटी अंतराल विलंबता" की तुलना में अधिक महत्वपूर्ण हो सकता है।

मैं यह भी कल्पना करूंगा कि सहायक क्रिया के अंजीर के पत्ते की चयन प्रक्रिया को अलग करने के बाद, आप पाएंगे कि इंजीनियर आरटीओएस का चयन करते हैं क्योंकि "आवश्यकताओं का कहना है"।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.