- RTOS क्या है?
- RTOS क्यों ??
- रियल टाइम ऑपरेटिंग सिस्टम और ऑपरेटिंग सिस्टम के बीच अंतर
- आरटीओएस के प्रकार
- मुफ्त आरटीओएस का उपयोग करने के लाभ
- RTOS से जुड़े कुछ प्रमुख मुद्दे
- RTOS का उपयोग कैसे करें
एंबेडेड सिस्टम में हमारे आस-पास के सभी इलेक्ट्रॉनिक उपकरणों में एक विस्तृत श्रृंखला है, एक स्पष्ट उदाहरण मिनी लैपटॉप है जिसे हम हर समय अपने साथ ले जाते हैं, हां मैं अपने मोबाइल फोन का जिक्र कर रहा हूं।
जब भी एम्बेडेड सिस्टम तस्वीर में आता है तो यह हमेशा माइक्रोकंट्रोलर या माइक्रोप्रोसेसरों जैसे हार्डवेयर और फर्मवेयर या ऑपरेटिंग सिस्टम जैसे सॉफ़्टवेयर का संयोजन होता है। एक ऑपरेटिंग सिस्टम सभी इलेक्ट्रॉनिक्स उपकरणों का आधार बनाता है और किसी भी इलेक्ट्रॉनिक डिवाइस के भीतर हार्डवेयर और सॉफ्टवेयर दोनों का प्रबंधन करता है। ऑपरेटिंग सिस्टम शब्द केवल कंप्यूटरों के लिए यूनिक्स और विंडोज तक ही सीमित नहीं है, बल्कि माइक्रोकंट्रोलर तक भी विस्तारित हो सकता है। ऐसा एक ऑपरेटिंग सिस्टम जो माइक्रोकंट्रोलर्स पर चल सकता है, उसे रियल टाइम ऑपरेटिंग सिस्टम कहा जाता है । यहां हम RTOS और रीयल टाइम ऑपरेटिंग सिस्टम के अनुप्रयोगों के बारे में जानेंगे ।
RTOS क्या है?
आरटीओएस के रूप में लोकप्रिय रियल टाइम ऑपरेटिंग सिस्टम प्राथमिकता के आधार पर समय की एक विशिष्ट अवधि के भीतर इनपुट और पूर्ण कार्यों का जवाब देने की क्षमता के साथ नियंत्रक प्रदान करता है। पहली नज़र में, RTOS किसी अन्य एम्बेडेड प्रोग्राम या फर्मवेयर की तरह लग सकता है, लेकिन यह एक ऑपरेटिंग सिस्टम की वास्तुकला पर बनाया गया है। इसलिए, किसी भी ऑपरेटिंग सिस्टम की तरह RTOS मल्टीप्लेक्सिंग का समर्थन करते हुए एक ही समय में कई कार्यक्रमों को निष्पादित करने की अनुमति दे सकता है । जैसा कि हम जानते हैं कि किसी प्रोसेसर या कंट्रोलर की कोर एक बार में एक ही निर्देश को निष्पादित कर सकती है, लेकिन आरटीओएस के पास शेड्यूलर नामक कुछ हैजो पहले तय करने का निर्देश देता है और इस तरह एक के बाद एक कई कार्यक्रमों के निर्देशों को निष्पादित करता है। तकनीकी रूप से एक आरटीओएस केवल एक बार में एक ही निर्देश को निष्पादित करके बहु लेने का भ्रम पैदा करता है।
यह आरटीओएस को वास्तविक दुनिया में विभिन्न अनुप्रयोगों के लिए उपयुक्त बनाता है। किसी भी इनपुट के लिए RTOS में जब भी एक तर्क का मूल्यांकन किया जाता है जो संबंधित आउटपुट देता है। इस तर्क को न केवल तार्किक रचनात्मकता के आधार पर मापा जाता है, बल्कि उस समय अवधि पर भी जिसमें विशिष्ट कार्य किया गया है। यदि सिस्टम उस विशिष्ट अवधि में कार्य करने में विफल रहता है, तो इसे सिस्टम विफलता के रूप में जाना जाता है।
RTOS क्यों ??
- ड्राइवरों की उपलब्धता: आरटीओएस के भीतर कई ड्राइवर उपलब्ध हैं, जो हमें विभिन्न अनुप्रयोगों के लिए सीधे उनका उपयोग करने की अनुमति देता है।
- शेड्यूल की गई फाइलें: आरटीओएस शेड्यूलिंग का ध्यान रखता है इसलिए किसी भी सिस्टम को शेड्यूल करने पर ध्यान केंद्रित करने के बजाय हम केवल एप्लिकेशन को विकसित करने पर ध्यान केंद्रित कर सकते हैं। उदाहरण के लिए, कार्य शेड्यूलिंग फ़ाइलों का उपयोग कुछ कार्यों को परिभाषित करने के लिए किया जाता है जब भी शर्तों का एक सेट पूरा होता है। RTOS शेड्यूलिंग के लिए कुछ उन्नत एल्गोरिदम का उपयोग करता है, जो आमतौर पर रनिंग, रेडी और ब्लॉक किए गए स्टेट्स होते हैं, जबकि आरटीओएस रनिंग शेड्यूलिंग के बजाय एप्लीकेशन डेवलप करने पर ज्यादा ध्यान देते हैं।
- सुविधाओं को जोड़ने की लचीलापन: RTOS के भीतर भले ही आप नई सुविधाओं को जोड़ने के लिए तैयार हों, आप मौजूदा सुविधाओं को परेशान किए बिना बस इसे जोड़ सकते हैं
रियल टाइम ऑपरेटिंग सिस्टम और ऑपरेटिंग सिस्टम के बीच अंतर
रियल टाइम ऑपरेटिंग सिस्टम और ऑपरेटिंग सिस्टम जैसे विंडोज, लिनक्स आदि के बीच कई अंतर हैं। आइए एक नजर डालते हैं इनकी एक-एक कर टेबल टेबल की मदद से:
एस.एन.ओ. | ऑपरेटिंग सिस्टम | वास्तविक समय प्रणाली |
1 | समय साझाकरण ऑपरेटिंग सिस्टम में प्रक्रियाओं के निष्पादन का आधार है | प्रक्रियाओं को उनकी प्राथमिकता के क्रम के आधार पर निष्पादित किया जाता है |
२ | ऑपरेटिंग सिस्टम एक सिस्टम के हार्डवेयर और सॉफ्टवेयर के बीच एक इंटरफेस के रूप में कार्य करता है | रियल टाइम सिस्टम को वास्तविक दुनिया की समस्याओं के लिए इसका निष्पादन करने के लिए डिज़ाइन किया गया है |
३ | जब ऑपरेटिंग सिस्टम के निष्पादन की बात आती है, तो मेमोरी को प्रबंधित करना महत्वपूर्ण मुद्दा नहीं है | स्मृति प्रबंधन कठिन है क्योंकि वास्तविक समय के आधार पर मेमोरी आवंटित की जाती है, जो स्वयं महत्वपूर्ण है |
४ | अनुप्रयोग: कार्यालय, डेटा केंद्र, घर के लिए प्रणाली आदि | अनुप्रयोग: विमान या परमाणु रिएक्टर, वैज्ञानिक अनुसंधान उपकरणों को नियंत्रित करना |
५ | उदाहरण: Microsoft Windows, Linux, OS | उदाहरण: Vx वर्क्स, QNX, Windows CE |
आरटीओएस के प्रकार
हम वास्तविक समय ऑपरेटिंग सिस्टम को प्रमुख रूप से तीन भागों में वर्गीकृत कर सकते हैं
- कठिन वास्तविक समय ऑपरेटिंग सिस्टम
- नरम वास्तविक समय ऑपरेटिंग सिस्टम
- फर्म वास्तविक समय ऑपरेटिंग सिस्टम
1. हार्ड वास्तविक समय ऑपरेटिंग सिस्टम
आइए एक उदाहरण का उपयोग करके इस प्रकार के ऑपरेटिंग सिस्टम को समझना शुरू करें, इसका जीवंत उदाहरण उड़ान नियंत्रण प्रणाली है। उड़ान नियंत्रण प्रणाली के भीतर पायलट द्वारा इनपुट के रूप में जो भी कार्य दिए जाते हैं, उसे समय पर किया जाना चाहिए। एक कठिन वास्तविक समय ऑपरेटिंग सिस्टम में, सिस्टम विफलताओं को सहन किया जा सकता है। हार्ड RTOS की विशेषताएं हैं:
- समय पर कार्य करने के लिए
- समय सीमा को पूरा करने में विफलता घातक है
- गारंटीकृत बदतर स्थिति प्रतिक्रिया समय
- सिस्टम विफलता का कारण बन सकता है
2. नरम वास्तविक समय ऑपरेटिंग सिस्टम
सॉफ्ट आरटीओएस का उपयोग करने का सबसे आसान उदाहरण ऑनलाइन डेटाबेस है, सॉफ्ट आरटीओएस के भीतर हम जिस पैरामीटर के बारे में अधिक चिंतित हैं वह गति है। इसलिए, नरम आरटीओएस की विशेषताएं हैं:
- जितनी जल्दी हो सके कार्य किया जाना चाहिए
- कार्यों का देर से पूरा होना अवांछनीय है लेकिन घातक नहीं है
- प्रदर्शन में गिरावट की संभावना है
- सिस्टम विफलता के लिए नेतृत्व नहीं कर सकता
3. फर्म वास्तविक समय ऑपरेटिंग सिस्टम
रोबोट भुजा जो वस्तुओं को लेने के लिए उपयोग किया जाता है, उसे फर्म आरटीओएस के उदाहरण में से एक माना जा सकता है। यहां, इस फर्म RTOS के भीतर भले ही इस प्रक्रिया में देरी हो रही है।
मुफ्त आरटीओएस का उपयोग करने के लाभ
आपके अनुप्रयोगों में RTOS का उपयोग करने के निम्नलिखित फायदे हैं।
- कोई फ़ायरवॉल मुद्दे नहीं
- बढ़ाया प्रदर्शन के लिए कम बैंडविड्थ
- बेहतर सुरक्षा और गोपनीयता
- कम लागत, विकास के लिए उपयोग किए जाने वाले हार्डवेयर और सॉफ़्टवेयर घटकों में कमी के कारण
RTOS से जुड़े कुछ प्रमुख मुद्दे
अब, वास्तविक विश्व अनुप्रयोग में RTOS के लिए कई फायदे होने के बावजूद, इसके विभिन्न नुकसान भी हैं। इससे संबंधित कुछ मुद्दों पर यहां चर्चा की गई है।
- कोड के कुछ अन्य महत्वपूर्ण हिस्से में प्रवाह को मोड़ने के लिए निष्पादन कार्यक्रमों को रोकने के लिए कार्यक्रमों में आम तौर पर इंटरप्ट का उपयोग किया जाता है। यहां, आरटीओएस के भीतर चूंकि त्वरित प्रतिक्रिया समय की आवश्यकता होती है; यह अनुशंसा की जाती है कि इंटरप्ट को न्यूनतम संभव समय के लिए अक्षम किया जाना चाहिए ।
- चूंकि, कर्नेल को विभिन्न घटनाओं के लिए भी प्रतिक्रिया देनी चाहिए जिसके लिए कर्नेल का आकार कम होना आवश्यक है ताकि इसे ROM में ठीक से फिट किया जाए
- आरटीओएस की परिष्कृत सुविधाओं को हटा दिया जाना चाहिए क्योंकि इसके भीतर ऐसी आभासी स्मृति की कोई अवधारणा नहीं है।
RTOS का उपयोग कैसे करें
अब जब आप जानते हैं कि आरटीओएस क्या है और आप इसका उपयोग कहां कर सकते हैं, आरटीओएस के साथ आरंभ करने के लिए आपको सामान्य रूप से टोरनेडो या फ्रीआरटीओएस विकास वातावरण का उपयोग करना होगा। आइए हम इन दोनों विकास परिवेश पर एक संक्षिप्त नज़र डालें।
बवंडर - VxWorks
बवंडर लक्ष्य प्रणाली पर वास्तविक समय से संबंधित एम्बेडेड आरटीओएस अनुप्रयोगों को विकसित करने के लिए एक एकीकृत वातावरण है। बवंडर में तीन मूल तत्व होते हैं जो नीचे सूचीबद्ध हैं।
1) VxWorks
2) अनुप्रयोग निर्माण उपकरण (संकलक और संबंधित कार्यक्रम)
3) एकीकृत विकास पर्यावरण, जो VxWorks एप्लिकेशन को प्रबंधित, डिबग और मॉनिटर कर सकता है
VxWorks एक नेटवर्क रियल टाइम ऑपरेटिंग सिस्टम है। VxWorks से शुरू करने के लिए हमारे पास एक कार्य केंद्र के साथ एक विकास किट (लक्ष्य) होना चाहिए। यहां, विकास किट लक्ष्य मेजबान या घटक के अलावा कुछ भी नहीं है जो कार्य केंद्र पर लक्ष्य सर्वर के साथ संचार करता है। यहाँ लक्ष्य शेल और डीबगर जैसे बवंडर उपकरण को जोड़ता है । इसलिए, VxWorks का उपयोग करते हुए हम सिस्टम को कॉन्फ़िगर करेंगे और बनाएंगे जबकि टोर्नेडो हमें कॉन्फ़िगरेशन और निर्माण के लिए एक ग्राफिकल यूजर इंटरफेस और कमांड लाइन टूल प्रदान करता है।
बहुत महत्वपूर्ण बिंदु जो यहाँ तस्वीर में आता है वह यह है कि आपके सिस्टम के भीतर बवंडर स्थापित करते समय इंस्टॉलेशन डायरेक्टरी को पथनाम का उपयोग करना चाहिए:
installDir / target। उदाहरण के लिए, यदि आप अपने बवंडर को C: \ tornado में एक विंडोज़ पर रखना चाहते हैं, तो पूर्ण पथनाम होस्ट को उस मामले में installDir / target / h / vxworks.h के रूप में पहचाना जाना चाहिए।
यहां, हम वीएक्स कार्यों की विशेषताओं के बारे में विस्तार से चर्चा नहीं करेंगे (हम अगले ट्यूटोरियल के लिए छोड़ देंगे) लेकिन हम चर्चा करेंगे कि विंडराइवर जीएनयू का उपयोग करके वीएक्सवर्क्स के भीतर सी ++ का उपयोग करके विकास कैसे किया जा सकता है । विंडराइवर ग्नू हमें निष्पादन के दौरान शामिल रुकावट के साथ-साथ मेमोरी उपयोग रिपोर्ट के बारे में एक ग्राफिकल विश्लेषण प्रदान करने में मदद करता है।
उदाहरण के लिए, विंडराइवर के उपरोक्त दृश्य कार्यों की प्राथमिकता (tLowPri & tHighPri) के साथ संबद्ध प्रोसेसर संख्या बताते हैं। आइडल स्टेट यानी हरे रंग की रेखा ने बताया कि किस अवधि के लिए प्रोसेसर अपनी कार्यशील स्थिति में नहीं है, जिसे हर कुछ सेकंड के बाद देखा जाता है। t1, t7, t8 & t9 कुछ और नहीं बल्कि उपयोग किए जाने वाले विभिन्न प्रोसेसर हैं। यहां, हम केवल t7 प्रोसेसर का चयन कर रहे हैं।
इसलिए, यह विंडरिवर VxWorks और एप्लिकेशन मॉड्यूल सबरूटीन्स दोनों को लागू करने में सक्षम है। आप विंड्राइवर एप्लिकेशन को लॉन्च कर सकते हैं या तो बवंडर लॉन्च टूल बार (-> i बटन) बनाएं, बाद में मेनू पर क्लिक करें और फिर शेल पर क्लिक करें। अंत में, कमांड प्रॉम्प्ट प्रकार "> विंडश टारगेट सर्वर" से।
C ++ का उपयोग करके प्रोग्राम करने के लिए, INCLUDE_CPLUS_DEMANGLER घटक को शामिल करना महत्वपूर्ण है, यह डींग्लर घटक लक्ष्य शेल प्रतीकों को C ++ प्रतीक नामों के मानव पठनीय रूपों को वापस करने की अनुमति देता है। पहले, VxWorks लक्ष्य, प्रक्रिया का पालन करने के लिए डाउनलोड करने के सी ++ मॉड्यूल के रूप में जाना चबा । इधर, कुतरना अतिरिक्त मेजबान प्रसंस्करण कदम को संदर्भित करता है।
C ++ एप्लिकेशन स्रोत प्रोग्राम को संकलित करें और उदाहरण के लिए hello.cpp फ़ाइल प्राप्त करें। बाद में.o पर इसे चबाने के लिए चलाएं और उत्पन्न ctdt.c फ़ाइल को संकलित करें। इसके अलावा, VxWorks के भीतर डाउनलोड करने योग्य मॉड्यूल, hello.out उत्पन्न करने के लिए ctdt.o के साथ एप्लिकेशन को लिंक करें। इस VxWorks को निष्पादित करने के बाद आउटपुट एक मेक फ़ाइल होगी जो कुछ लक्ष्य पर उपयोग की जाएगी।
नि: शुल्क आरटीओएस
आमतौर पर, जब भी हम आरटीओएस से शुरू करते हैं तो हम आम तौर पर वीएक्स वर्क्स आरटीओएस पसंद करते हैं। लेकिन, यहां नि: शुल्क आरटीओएस के बारे में संक्षेप में चर्चा की गई है, जिसका उपयोग शुरुआती लोगों द्वारा वास्तविक ऑपरेटिंग सिस्टम की अवधारणा के माध्यम से जाने के लिए भी किया जा सकता है। नि: शुल्क RTOS रिचर्ड बैरी और FreeRTOS टीम द्वारा विकसित किया गया है, यह भी वास्तविक समय इंजीनियरों लिमिटेड के स्वामित्व में है, लेकिन यह उपयोग करने के लिए स्वतंत्र है और बस नीचे दिए गए लिंक पर क्लिक करके डाउनलोड किया जा सकता है
नि: शुल्क ROTS डाउनलोड करें
इस आलेख के समय उपयोग किए जा रहे मुफ्त आरटीओएस का नवीनतम संस्करण संस्करण 10 है, जिसे फ्रीट्रॉस वी 10 कहा जाता है।
मुक्त RTOS का सबसे बड़ा लाभ जो इसे अन्य RTOS के संदर्भ में श्रेष्ठ बनाता है, वह है हार्डवेयर के संदर्भ में इसका प्लेटफ़ॉर्म स्वतंत्र व्यवहार यानी c कोड जिसे हम ऑपरेटिंग सिस्टम को निष्पादित करने के लिए उपयोग कर रहे हैं, जो विभिन्न आर्किटेक्चर वाले विभिन्न प्लेटफार्मों पर चल सकता है। इसलिए चाहे आप micro०५१ माइक्रोकंट्रोलर का उपयोग कर रहे हों या कुछ नवीनतम एआरएम माइक्रोकंट्रोलर जो कोड आपने लिखे थे, निष्पादन की प्रक्रिया के साथ दोनों के लिए समान होगा।
वीएक्स कार्यों और अन्य आरटीओएस ऑपरेटिंग टूल पर मुफ्त आरटीओएस का उपयोग करने के कई अन्य लाभ हैं। उनमें से कुछ के रूप में कहा जा सकता है:
- आसान परीक्षण प्रदान करता है
- कोड पुन: प्रयोज्य की अवधारणा को बढ़ावा देता है
- कम बेकार समय
- आसान रखरखाव
- समयावधि की जानकारी दें
इसके अलावा, मूल कर्नेल, जहां कर्नेल एक ऑपरेटिंग सिस्टम के केंद्रीय घटक को संदर्भित करता है जो कि मुक्त आरटीओएस के भीतर मौजूद है, यह विभिन्न अनुप्रयोगों के लिए उपयोग करने के लिए सुलभ बनाता है। चूंकि इसके अधिक अनुप्रयोगों को मुक्त करने के लिए ऑपरेटिंग सिस्टम पर विस्तारित मॉड्यूल संलग्न करना आसान है, इसलिए आरटीओएस अधिक शक्तिशाली हो जाता है।
नि: शुल्क आरटीओएस का उपयोग करने के उदाहरणों में से एक को निब्टो के साथ मुफ्त आरटीओएस के संयोजन की अवधारणा का उपयोग करके समझाया जा सकता है। नब्टो एक निशुल्क वेब डिवाइस है जिसका उपयोग डिवाइस से ब्राउज़र में जानकारी स्थानांतरित करने के लिए किया जाता है।
इसलिए निब्टो के साथ निशुल्क आरटीओएस के संयोजन पर यह सी कोड का एक छोटा सा टुकड़ा बनाता है जैसा कि आंकड़ा ए में बताया गया है। अब एक दिन इंटरनेट ऑफ़ थिंग्स (IOT) चलन में है और हम जो भी IOT डिवाइस एक्सेस कर रहे हैं उसका इंटरनेट पर एक अनूठा URL होगा और तकनीक सुरक्षित और बेहद कम बैंडविड्थ पॉइंट टू पॉइंट कनेक्शन की अनुमति देती है। इंटरनेट कनेक्टिविटी की अनुपस्थिति में यह संयोजन मददगार हो सकता है। इसलिए, IOT को लागू करने के लिए मुफ्त RTOS एक लोकप्रिय विकल्प है।