कठिन वास्तविक समय, नरम वास्तविक समय और फर्म वास्तविक समय के बीच अंतर?


101

मैंने वास्तविक समय की विभिन्न धारणाओं के लिए परिभाषाएं पढ़ी हैं , और कठिन और नरम वास्तविक समय प्रणालियों के लिए दिए गए उदाहरण मेरे लिए मायने रखते हैं। लेकिन, कोई वास्तविक स्पष्टीकरण या एक फर्म वास्तविक समय प्रणाली का उदाहरण नहीं है। ऊपर दिए गए लिंक के अनुसार:

फर्म: बेवजह की डेडलाइन मिस हो जाती है, लेकिन यह सिस्टम की सेवा की गुणवत्ता को खराब कर सकती है। एक परिणाम की उपयोगिता इसकी समय सीमा के बाद शून्य है।

क्या वास्तविक वास्तविक बनाम कठिन या नरम वास्तविक समय के बीच एक स्पष्ट अंतर है, और क्या एक अच्छा उदाहरण है जो उस अंतर को दिखाता है?

टिप्पणियों में, चार्ल्स ने पूछा कि मैं नए टैग के लिए टैग विकी प्रस्तुत करता हूं। एक "फर्म वास्तविक समय प्रणाली" का उदाहरण मैंने इसके लिए प्रदान किया हैटैग एक दूध परोसने की प्रणाली थी। यदि सिस्टम अपने समय समाप्ति के बाद दूध वितरित करता है, तो दूध को "उपयोगी नहीं" माना जाता है। एक दूध के बिना अनाज खाने को सहन कर सकते हैं, लेकिन अनुभव की गुणवत्ता में गिरावट है।

यह सिर्फ मेरे विचार से बना है जब मैंने शुरुआत में परिभाषा पढ़ी थी। मैं एक बेहतर उदाहरण की तलाश कर रहा हूं, और शायद फर्म वास्तविक समय की बेहतर परिभाषा है जो मेरी धारणा को बेहतर बनाएगी।


11
असल में, परिभाषाएँ वास्तविक नहीं हैं।
हॉट लिक्स

मैंने मूल टैग बहाल किए। मुझे लगता है कि कठिन या नरम वास्तविक समय के संबंध में एक प्रश्न पर अधिक विशिष्ट टैग लगाने में सक्षम होना उपयोगी है। यह प्रश्न के उत्तर देने के तरीके को बदल देता है। यदि 6 महीने के बाद टैग का उपयोग नहीं किया जाता है तो टैग स्वचालित रूप से हटा दिए जाएंगे।
jxh

यदि आप इस प्रश्न और अकेले इस प्रश्न के लिए तीन नए टैगों पर जोर देने जा रहे हैं, तो कम से कम विकियों को जोड़ें और उन अन्य प्रश्नों को खोजने का प्रयास करें, जिन पर वे लागू होंगे।
चार्ल्स

जवाबों:


114

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

फर्म / सॉफ्ट रियल टाइम सिस्टम कुछ समय-सीमा को याद कर सकते हैं, लेकिन अंततः प्रदर्शन बहुत अधिक छूट गए हैं। एक अच्छा उदाहरण आपके कंप्यूटर में ध्वनि प्रणाली है। यदि आप कुछ बिट्स को याद करते हैं, तो कोई बड़ी बात नहीं है, लेकिन बहुत अधिक याद आती है और आप अंततः सिस्टम को नीचा दिखाने जा रहे हैं। ऐसा ही भूकंपीय सेंसर होगा। यदि आप कुछ डेटा पॉइंट्स से चूक जाते हैं, तो कोई बड़ी बात नहीं है, लेकिन डेटा की समझ बनाने के लिए आपको उनमें से अधिकांश को पकड़ना होगा। इससे भी महत्वपूर्ण बात यह है कि अगर कोई सही ढंग से काम नहीं करता है, तो कोई भी मरने वाला नहीं है।

लाइन फजी है, क्योंकि यहां तक ​​कि एक पेसमेकर को रोगी को मारे बिना थोड़ी मात्रा में बंद किया जा सकता है, लेकिन यह सामान्य है।

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


2
आपका "दृढ़" उदाहरण मुझे "नरम" लगता है।
jxh

जैसा कि कहा गया है, विभाजन रेखाएँ बहुत अधिक अस्पष्ट होती हैं। मैंने जिस सॉफ्ट रियलटाइम सिस्टम पर काम किया, उसमें कुछ सेकंड की सहिष्णुता थी, इसलिए मैंने लाइन खींची।
जोएल

1
ध्यान रखें कि यह एक निरंतरता है। वस्तुतः प्रत्येक कंप्यूटर सिस्टम कुछ समय के पैमाने पर "वास्तविक समय" है। एक कंपनी की बिलिंग प्रणाली को कंपनी में नकदी प्रवाह बनाए रखने के लिए बिलों को पर्याप्त तेजी से प्राप्त करना होगा या कंपनी मर जाएगी, बस निश्चित रूप से एक मरीज की मृत्यु हो जाएगी यदि एक पेसमेकर कुछ सौ मिलीसेकेंड तक धड़कता है।
गर्म चाट

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

वास्तविक समय की आवश्यकताएं किसी दिए गए सिस्टम के संदर्भ में हैं, समस्या के लिए अंतर्निहित नहीं हैं। आपके द्वारा दिए गए उदाहरण में, अभी भी ध्वनि को नुकसान पहुंच रहा है (यह स्पेड अप है), और ध्वनि और वीडियो में एक अस्थायी बेमेल है।
जोएल

112

कठिन वास्तविक समय

कठिन वास्तविक समय परिभाषा किसी भी समय सीमा याद किया समझता है एक प्रणाली विफलता होगी। इस शेड्यूलिंग का उपयोग मिशन क्रिटिकल सिस्टम में बड़े पैमाने पर किया जाता है जहां समय की कमी के कारण विफलता जीवन या संपत्ति की हानि होती है।

उदाहरण:

  • सेंसर की खराबी के कारण एयर फ्रांस फ्लाइट 447 समुद्र में दुर्घटनाग्रस्त हो गई। पायलटों ने पुराने उपकरण रीडिंग का जवाब देते हुए विमान को रोक दिया। सभी 12 चालक दल और 216 यात्री मारे गए थे।

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

  • एक इंकजेट प्रिंटर में कागज के एक विशिष्ट भाग पर स्याही की सही मात्रा जमा करने के लिए नियंत्रण सॉफ्टवेयर के साथ एक प्रिंट हेड होता है। यदि कोई समय सीमा समाप्त हो जाती है तो प्रिंट कार्य बर्बाद हो जाता है।


फर्म रियल-टाइम

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

उदाहरण:

  • रोबोट असेंबली लाइनों के साथ विनिर्माण प्रणाली जहां एक समय सीमा को पूरा करने के लिए अनुचित रूप से एक हिस्से को असेंबल किया जाता है। जब तक बर्बाद हुए हिस्से गुणवत्ता नियंत्रण द्वारा पकड़े जाने के लिए पर्याप्त रूप से अलग नहीं होते हैं और बहुत महंगा नहीं होता है, तब तक उत्पादन जारी रहता है।

  • एक डिजिटल केबल सेट-टॉप बॉक्स स्क्रीन पर फ़्रेम दिखाई देने के लिए समय टिकटों को डिकोड करता है। चूंकि फ्रेम समय क्रम संवेदनशील होते हैं, एक चूक समय सीमा के कारण सेवा की गुणवत्ता में कमी, घबराहट होती है। यदि बाद में छूटी हुई फ्रेम उपलब्ध हो जाती है, तो यह प्रदर्शित करने के लिए केवल अधिक घबराहट का कारण होगा, इसलिए यह बेकार है। दर्शक अभी भी कार्यक्रम का आनंद ले सकते हैं यदि घबराना बहुत बार नहीं होता है।


नरम वास्तविक समय

नरम वास्तविक समय परिभाषा अक्सर याद किया समय सीमा के लिए अनुमति देता है, और जब तक कार्य समय पर क्रियान्वित कर रहे हैं उनके परिणाम मान होना जारी है। पूर्ण कार्यों की समय सीमा तक मूल्य में वृद्धि हो सकती है और पिछले मूल्य में कमी हो सकती है।

उदाहरण:

  • मौसम केंद्रों में तापमान, आर्द्रता, हवा की गति, आदि पढ़ने के लिए कई सेंसर हैं। रीडिंग को नियमित अंतराल पर लिया और प्रसारित किया जाना चाहिए, हालांकि सेंसर सिंक्रनाइज़ नहीं हैं। भले ही एक सेंसर रीडिंग दूसरों के साथ तुलना में जल्दी या देर से हो सकती है लेकिन यह तब भी प्रासंगिक हो सकता है जब तक कि यह काफी करीब हो।

  • वीडियो गेम कंसोल गेम इंजन के लिए सॉफ्टवेयर चलाता है। ऐसे कई संसाधन हैं जिन्हें इसके कार्यों के बीच साझा किया जाना चाहिए। उसी समय खेल को सही ढंग से खेलने के लिए शेड्यूल के अनुसार कार्यों को पूरा करने की आवश्यकता होती है। जब तक कार्यों को पूरी तरह से समय पर किया जा रहा है, तब तक खेल सुखद होगा, और यदि नहीं तो यह थोड़ा कम हो सकता है।


Servert: रियल-टाइम एंबेडेड सिस्टम और कंपोनेंट्स।
लियू एंड लेलैंड: एक हार्ड रीयल-टाइम वातावरण में मल्टीप्रोग्रामिंग के लिए निर्धारण एल्गोरिदम।
मारचंद और सिली-चेट्टो: सॉफ्ट एपेरियोडिक टास्क का डायनेमिक शेड्यूलिंग और स्काइप्स के साथ पीरियोडिक टास्क।


10
उदाहरणों की एक सुखद सूची क्या है!
एरिक कपलुन

सबसे अच्छे उदाहरणों में से एक
विष्णु एनके

447 दुर्घटना के मामले में, विमान रुकने से पहले कई समय-सीमाएं याद नहीं थीं? ऐसा लगता है कि सभी प्रणालियाँ उस अर्थ में दृढ़ हैं।
योशिय्याह योदर

3
बहुत अच्छी सूची, हालांकि इंकजेट प्रिंटर उदाहरण कठिन वास्तविक समय के लिए योग्य नहीं है, सबसे अच्छा यह फर्म है और सबसे संभवतः बस नरम है।
अब इराटो

उदाहरण के लिए TYSM
himanshuxd

43

वास्तविक समय के कंप्यूटिंग पर विकिपीडिया पृष्ठ और अन्य पृष्ठों को पढ़ने के बाद। मैंने निम्नलिखित निष्कर्ष किए हैं:

1> हार्ड रीयल-टाइम सिस्टम के लिए , यदि सिस्टम को समय सीमा को पूरा करने में विफल रहता है, भले ही सिस्टम को विफल माना जाता है।

2> एक फर्म वास्तविक समय प्रणाली के लिए , भले ही सिस्टम समय सीमा को पूरा करने में विफल हो, संभवतः एक से अधिक बार (यानी कई अनुरोधों के लिए), सिस्टम को विफल नहीं माना जाता है। इसके अलावा, अनुरोधों के जवाब (एक प्रश्न का जवाब, एक कार्य का परिणाम, आदि) बेकार हैं एक बार उस विशेष अनुरोध के लिए समय सीमा समाप्त हो गई है ( इसकी समय सीमा के बाद परिणाम की उपयोगिता शून्य है )। एक काल्पनिक उदाहरण एक तूफान पूर्वानुमान प्रणाली हो सकती है (यदि तूफान के आने से पहले भविष्यवाणी की जाती है, तो सिस्टम ने अपना काम किया है, घटना के बाद की भविष्यवाणी या जब यह हो रहा है तो इसका कोई मूल्य नहीं है)।

3> सॉफ्ट रियल-टाइम सिस्टम के लिए , भले ही सिस्टम समय सीमा को पूरा करने में विफल हो, संभवतः एक से अधिक बार (यानी कई अनुरोधों के लिए), सिस्टम को विफल नहीं माना जाता है। लेकिन, इस मामले में अनुरोधों के परिणाम इसकी समय सीमा के बाद परिणाम के लिए बेकार मूल्य नहीं है , शून्य नहीं है , बल्कि यह समय सीमा समाप्त होने के बाद समय बीतने के साथ घटता है। उदा .: स्ट्रीमिंग ऑडियो-वीडियो।

यहाँ एक संसाधन का लिंक दिया गया है जो बहुत मददगार था।


4
तूफान पूर्वानुमान प्रणाली एक अच्छा उदाहरण नहीं है, क्योंकि आपको समय के आधार पर एक समय सीमा निर्धारित करने की आवश्यकता है, और यदि आप पहले से ही जानते हैं कि जब तूफान का सबसे कम समय हो सकता है, तो तूफान पूर्वानुमान प्रणाली एक तरह से बेमानी है।
15

12

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

फर्म और सॉफ्ट बस एक समय सीमा को पूरा करने में विफल होने पर स्वतः घोषित होने में विफल हो जाते हैं।

आपके द्वारा लिंक किए गए पृष्ठ से कठिन वास्तविक समय के एक निष्पक्ष उदाहरण के लिए:

प्रारंभिक वीडियो गेम सिस्टम जैसे अटारी 2600 और सिनेमैट्रोनिक्स वेक्टर ग्राफिक्स की वास्तविक समय की आवश्यकता थी क्योंकि ग्राफिक्स और टाइमिंग हार्डवेयर की प्रकृति।

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

जाहिर है कि कोई भी प्रणाली उन परिस्थितियों के अधीन हो सकती है, जो इसे संभाल नहीं सकती हैं, इसलिए अपेक्षित ऑपरेटिंग परिस्थितियों में परिभाषा को सीमित करना आवश्यक है - यह देखते हुए कि सुरक्षा-महत्वपूर्ण अनुप्रयोगों में लोगों को भयानक परिस्थितियों के लिए योजना बनानी चाहिए ("शीतलक वाष्पित हो गया है", " ब्रेक फेल हो गए हैं ", लेकिन शायद ही कभी" सूरज फट गया हो ")।

और यह मत भूलो कि कभी-कभी एक निहित है "जबकि कोई भी" परिचालन स्थिति देख रहा है। यदि कोई भी आपको नियमों को तोड़ते हुए नहीं देखता (या अगर उन्होंने ऐसा किया है लेकिन वे किसी को बताने से पहले आग से मर जाते हैं), और कोई भी यह साबित नहीं कर सकता है कि आपने इस तथ्य के बाद नियमों को तोड़ा है, तो यह उसी तरह का है जैसे आपने कभी नियम नहीं तोड़ा हो!


4
If nobody sees you break the rules (or if they did but they die the fire before telling anyone), and nobody can prove that you broke the rules after the fact, then it's kind of the same as if you never broke the rules!... ठीक है, एचएएल। अब, क्या आप पोड बे दरवाजे खोल सकते हैं?
बेसिक

11

विभिन्न प्रकार के रियल-टाइम सिस्टम प्रकारों के बीच अंतर करने का सबसे सरल तरीका सवाल का जवाब दे रहा है:

क्या एक विलंबित प्रणाली प्रतिक्रिया (समय सीमा के बाद) अभी भी उपयोगी है या नहीं?

इसलिए इस सवाल के जवाब के आधार पर, आपके सिस्टम को निम्नलिखित श्रेणियों में से एक के रूप में शामिल किया जा सकता है:

  1. कठिन : नहीं, और विलंबित उत्तर को सिस्टम विफलता माना जाता है

यह मामला है जब डेड-लाइन गुम होने से सिस्टम अनुपयोगी हो जाएगा। उदाहरण के लिए कार एयरबैग सिस्टम को नियंत्रित करने वाली प्रणाली को दुर्घटना का पता लगाना चाहिए और तेजी से बैग को फुला देना चाहिए। पूरी प्रक्रिया में एक सेकंड का कम-से-कम एक-पच्चीसवाँ हिस्सा लगता है। इस प्रकार, यदि उदाहरण के लिए सिस्टम देरी के 1 सेकंड के साथ प्रतिक्रिया करता है तो परिणाम नश्वर हो सकते हैं और कार के पहले ही दुर्घटनाग्रस्त हो जाने पर बैग को फुलाए जाने से कोई लाभ नहीं होगा।

  1. फर्म : नहीं, लेकिन देरी से जवाब देने के लिए सिस्टम विफलता आवश्यक नहीं है

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

  1. शीतल : हाँ, लेकिन सिस्टम सर्विस ख़राब है

विकिपीडिया के वर्णन के परिणामस्वरूप परिणाम की उपयोगिता इसकी समय सीमा के बाद घट जाती है । इसका मतलब है कि, समय सीमा से बाहर प्रणाली से एक प्रतिक्रिया प्राप्त करना अभी भी अंतिम उपयोगकर्ता के लिए उपयोगी है लेकिन इसकी उपयोगिता समय सीमा तक पहुंचने के बाद ख़राब हो जाती है। इस मामले के लिए एक सरल उदाहरण एक सॉफ्टवेयर है जो स्वचालित रूप से एक कमरे (या एक इमारत) के तापमान को नियंत्रित करता है। इस मामले में अगर सिस्टम में तापमान सेंसर को पढ़ने में कुछ देरी है, तो यह ब्रूसक तापमान परिवर्तन पर प्रतिक्रिया करने के लिए थोड़ा धीमा होगा। हालांकि, अंत में यह परिवर्तन पर प्रतिक्रिया करेगा और उदाहरण के लिए इसे स्थिर रखने के लिए तापमान के अनुसार समायोजित करेगा। तो इस मामले में विलंबित प्रतिक्रिया उपयोगी है, लेकिन यह सेवा की गुणवत्ता को नीचा दिखाती है।


6

एक नरम वास्तविक समय को समझना आसान है, जिसमें भले ही समय सीमा के बाद परिणाम प्राप्त किया जाता है, फिर भी परिणाम वैध माना जाता है।

उदाहरण: वेब ब्राउज़र- हम कुछ URL के लिए अनुरोध करते हैं, पेज लोड करने में कुछ समय लगता है। यदि सिस्टम हमें पृष्ठ प्रदान करने के लिए अपेक्षित समय से अधिक समय लेता है, तो प्राप्त पृष्ठ को अमान्य नहीं माना जाता है, हम सिर्फ यह कहते हैं कि सिस्टम का प्रदर्शन निशान तक नहीं था (सिस्टम ने कम प्रदर्शन दिया!)।

में कठिन वास्तविक समय प्रणाली, यदि परिणाम की समय सीमा के बाद प्राप्त किया जाता है, प्रणाली पूरी तरह से विफल रहे हैं माना जाता है।

उदाहरण: यदि कोई रोबोट कुछ काम कर रहा है जैसे लाइन ट्रेसिंग, आदि। यदि कोई बाधा उसके रास्ते पर आती है, और रोबोट इस जानकारी को कुछ प्रोग्राम की समय सीमा (लगभग तुरंत!) में संसाधित नहीं करता है, तो ऐसा कहा जाता है कि रोबोट विफल हो गया है! अपने कार्य में (रोबोट सिस्टम भी पूरी तरह से नष्ट हो सकता है!)।

में फर्म वास्तविक समय प्रणाली, अगर प्रक्रिया निष्पादन का परिणाम समय सीमा के बाद आता है, हम चाहते हैं कि परिणाम त्यागें, लेकिन प्रणाली विफल हो गया है कहा जाता है नहीं है।

उदाहरण: दुश्मन की स्थिति की निगरानी या किसी अन्य कार्य के लिए उपग्रह संचार। यदि जमीनी कंप्यूटर स्टेशन जिस पर उपग्रह समय-समय पर फ्रेम भेजते हैं, अतिभारित होता है, और वर्तमान फ्रेम (पैकेट) को समय पर संसाधित नहीं किया जाता है और अगला फ्रेम ऊपर आता है, तो वर्तमान पैकेट (जो समय सीमा समाप्त हो गई है) कोई फर्क नहीं पड़ता। क्या प्रसंस्करण किया गया था (या आधा किया गया था या लगभग पूरा हो चुका है) गिरा दिया गया है / छोड़ दिया गया है। लेकिन जमीनी कंप्यूटर को पूरी तरह से विफल नहीं कहा जाता है।


ब्राउज़र उदाहरण गलत है। समय एक वेब ब्राउज़र में एक संसाधन नहीं है: यह एक वास्तविक समय प्रणाली नहीं है।
बार्ट फ्राइडरिच्स

6

"सॉफ्ट रियल-टाइम" को परिभाषित करने के लिए, "हार्ड रियल-टाइम" के साथ इसकी तुलना करना सबसे आसान है। नीचे हम देखेंगे कि "दृढ़ वास्तविक समय" शब्द "नरम वास्तविक समय" के बारे में गलतफहमी पैदा करता है।

लापरवाही से बोलते हुए, ज्यादातर लोगों को स्पष्ट रूप से एक अनौपचारिक मानसिक मॉडल होता है जो सूचना या किसी घटना को "वास्तविक समय" के रूप में मानता है।

• अगर, या इस हद तक, यह उनके लिए देरी (विलंबता) के साथ प्रकट होता है जो इसकी कथित मुद्रा से संबंधित हो सकता है

• यानी, एक समय सीमा में कि सूचना या घटना ने उनके लिए काफी संतोषजनक मूल्य प्राप्त किया है।

"कठिन वास्तविक समय" की कई अलग-अलग तदर्थ परिभाषाएं हैं, लेकिन उस मानसिक मॉडल में, "वास्तविक" शब्द द्वारा कठिन वास्तविक समय का प्रतिनिधित्व किया जाता है। विशेष रूप से, यह मानते हुए कि वास्तविक समय की कार्रवाइयों (जैसे कि कार्य) की समय सीमा पूरी होती है, इस घटना का स्वीकार्य रूप से संतोषजनक मूल्य है कि सभी कार्य पूर्ण होने की स्थिति उस विशेष मामले तक सीमित है जो सभी कार्य उनकी समय सीमा को पूरा करते हैं।

हार्ड रियल-टाइम सिस्टम बहुत मजबूत धारणाएं बनाते हैं कि एप्लिकेशन और सिस्टम और पर्यावरण के बारे में सब कुछ स्थिर है और एक 'प्राथमिकताओं' को जाना जाता है। 'संसाधन संघर्ष नहीं है, और कुल मिलाकर प्रणाली का समय विकास है। एक विमान उड़ान नियंत्रण प्रणाली या ऑटोमोटिव ब्रेकिंग सिस्टम और कई अन्य मामलों में उन मान्यताओं को आमतौर पर संतुष्ट किया जा सकता है ताकि सभी समय सीमाएं पूरी हो सकें।

यह मानसिक मॉडल जानबूझकर और बहुत उपयोगी सामान्य रूप से पर्याप्त है जो कठिन और नरम वास्तविक समय दोनों को समाहित करता है - नरम को "उस सीमा तक" वाक्यांश द्वारा समायोजित किया जाता है। उदाहरण के लिए, मान लीजिए कि कार्य पूरा होने की घटना में उप-रूपी लेकिन स्वीकार्य मूल्य है

  • 10% से अधिक कार्य उनकी समय सीमा को याद नहीं करते हैं
  • या कोई कार्य 20% से अधिक कठिन नहीं है
  • या सभी कार्यों की औसत दर 15% से अधिक नहीं है
  • या सभी कार्यों में अधिकतम मर्यादा 10% से कम है

एक महान कई अनुप्रयोगों में नरम वास्तविक समय के मामलों के ये सभी सामान्य उदाहरण हैं।

स्कूल के बाद अपने बच्चे को लेने के एकल-कार्य अनुप्रयोग पर विचार करें। संभवतः इसकी वास्तविक समय सीमा नहीं है, इसके बजाय उस घटना के होने पर आपके और आपके बच्चे के लिए कुछ मूल्य है। बहुत जल्दी बर्बाद होने वाले संसाधन (जैसे कि आपका समय) और बहुत देर से कुछ नकारात्मक मूल्य हैं क्योंकि आपके बच्चे को अकेले और संभवतः नुकसान के रास्ते में छोड़ दिया जा सकता है (या कम से कम असुविधाजनक)।

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

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

स्पष्ट रूप से मुकाबला परिदृश्यों में कई संभावित गतिशील अनिश्चितताएं हैं जिन्हें संसाधन प्रबंधन द्वारा समायोजित किया जाना चाहिए। सॉफ्ट सिविल-टाइम सिस्टम कई नागरिक प्रणालियों में बहुत आम हैं, जैसे कि औद्योगिक स्वचालन, हालांकि जाहिर है कि सैन्य सबसे खतरनाक और तत्काल हैं जो स्वीकार्य रूप से संतोषजनक मूल्य प्राप्त करते हैं।

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

भविष्यवाणी का एक स्पेक्ट्रम है। नियतात्मकता (निर्धारकवाद) भविष्यवाणी के स्पेक्ट्रम पर एक अंतिम बिंदु (अधिकतम पूर्वानुमान) है; अन्य अंतिम बिंदु न्यूनतम पूर्वानुमानशीलता (अधिकतम गैर-नियतात्मकता) है। स्पेक्ट्रम के मीट्रिक और अंत-बिंदुओं को एक चुने हुए पूर्वानुमान मॉडल के संदर्भ में व्याख्या करना होगा; उन दो अंत-बिंदुओं के बीच सब कुछ अप्रत्याशितता (= गैर-निर्धारणवाद की डिग्री) की डिग्री है।

अधिकांश रियल-टाइम सिस्टम (अर्थात्, नरम वाले) में गैर-नियतात्मक भविष्यवाणी है, उदाहरण के लिए, कार्यों के समय को पूरा करता है और इसलिए उन घटनाओं से प्राप्त मान।

सामान्य तौर पर (सिद्धांत रूप में), पूर्वानुमेयता, और इसलिए स्वीकार्य रूप से संतोषजनक मूल्य, को आवश्यक के रूप में निर्धारक अंत बिंदु के करीब बनाया जा सकता है - लेकिन एक कीमत पर जो शारीरिक रूप से असंभव या अत्यधिक महंगा हो सकता है (जैसा कि मुकाबला में या शायद यहां तक ​​कि अपने बच्चे को स्कूल से उठाकर)।

शीतल वास्तविक समय के लिए प्रायिकता मॉडल (सामान्य क्रमिक मॉडल नहीं) के अनुप्रयोग-विशिष्ट विकल्प की आवश्यकता होती है और इसलिए घटना के कारणों और परिणामी मूल्यों के बारे में तर्क करने के लिए पूर्वानुमान मॉडल।

स्वीकार्य मूल्य प्रदान करने वाली घटनाओं की उपरोक्त सूची का उल्लेख करते हुए, अब हम गैर-नियतात्मक मामलों को जोड़ सकते हैं, जैसे कि

  • संभावना है कि कोई भी कार्य 5% से अधिक की समय सीमा को याद नहीं करेगा 0.87 से अधिक है। (वहां व्यक्त शेड्यूलिंग मानदंड की संख्या नोट करें।)

एक मिसाइल रक्षा आवेदन में, इस तथ्य को देखते हुए कि अपराध का हमेशा बचाव में फायदा होता है, आप इन दोनों वास्तविक समय के कंप्यूटिंग परिदृश्यों में से किसे पसंद करेंगे:

  • क्योंकि सभी शत्रुतापूर्ण मिसाइलों का सही विनाश बहुत ही असंभव या असंभव है, अपने रक्षात्मक संसाधनों को इस संभावना को अधिकतम करने के लिए असाइन करें कि जितने भी खतरे वाले (जैसे कि उनके लक्ष्य के आधार पर) शत्रुतापूर्ण मिसाइलों को सफलतापूर्वक इंटरसेप्ट किया जाएगा (क्लोज़ इंटरसेप्ट काउंट्स क्योंकि यह शत्रुतापूर्ण मिसाइल ऑफ-कोर्स को स्थानांतरित कर सकता है);

  • शिकायत करें कि यह एक वास्तविक समय की कंप्यूटिंग समस्या नहीं है क्योंकि यह स्थैतिक के बजाय गतिशील है, और पारंपरिक वास्तविक समय की अवधारणाएं और तकनीक लागू नहीं होती हैं, और यह स्थैतिक कठिन वास्तविक समय की तुलना में अधिक कठिन लगता है, इसलिए आपको इसमें कोई दिलचस्पी नहीं है ।

वास्तविक समय के कंप्यूटिंग समुदाय में नरम वास्तविक समय के बारे में विभिन्न गलतफहमियों के बावजूद, नरम वास्तविक समय बहुत ही सामान्य और शक्तिशाली है, यद्यपि वास्तविक वास्तविक समय की तुलना में संभावित जटिल। यहां संक्षेप में बताई गई शीतल वास्तविक समय प्रणालियों का वास्तविक समय के कंप्यूटिंग समुदाय के बाहर उपयोग का लंबा सफल इतिहास है ।

ओपी प्रश्न का सीधे जवाब देने के लिए:

एक कठिन वास्तविक समय प्रणाली नियतात्मक गारंटी प्रदान कर सकती है - सबसे आम तौर पर कि सभी कार्य उनकी समय सीमा को पूरा करेंगे, व्यवधान या सिस्टम कॉल प्रतिक्रिया समय हमेशा x से कम होगा, आदि - IF और ONLY यदि बहुत मजबूत धारणाएं बनाई गई हैं और सही हैं सब कुछ जो मायने रखता है वह स्थिर है और एक 'प्राथमिकता' के रूप में जाना जाता है (सामान्य तौर पर, कठिन वास्तविक समय प्रणालियों के लिए इस तरह की गारंटी एक खुली अनुसंधान समस्या है, बल्कि सामान्य मामलों को छोड़कर)

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

स्पष्ट रूप से कठिन वास्तविक समय नरम वास्तविक समय का एक सरल विशेष मामला है। स्पष्ट रूप से नरम वास्तविक समय के विश्लेषणात्मक गैर-नियतात्मक आश्वासन प्रदान करने के लिए बहुत ही जटिल हो सकते हैं, लेकिन सबसे आम वास्तविक समय के मामलों में अनिवार्य हैं (अधिकांश खतरनाक सुरक्षा-महत्वपूर्ण जैसे कि मुकाबला) चूंकि अधिकांश वास्तविक समय के मामले गतिशील नहीं होते हैं स्थिर।

"फर्म रियल-टाइम" "सॉफ्ट रियल-टाइम" का एक बीमार-परिभाषित विशेष मामला है। इस शब्द की कोई आवश्यकता नहीं है यदि शब्द "नरम वास्तविक समय" को ठीक से समझा और उपयोग किया जाता है।

मेरे पास मेरी वेब साइट real-time.org पर वास्तविक समय, कठिन वास्तविक समय, नरम वास्तविक समय, भविष्यवाणी, नियतत्ववाद और संबंधित विषयों की अधिक विस्तृत और अधिक सटीक चर्चा है।


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

2

वास्तविक समय - एक प्रणाली या ऑपरेशन के मोड से संबंधित है जिसमें कम्प्यूटिंग वास्तविक समय के दौरान किया जाता है जो एक बाहरी प्रक्रिया होती है, ताकि क्रमबद्ध परिणामों का उपयोग समय पर बाहरी प्रक्रिया को नियंत्रित करने, निगरानी करने या प्रतिक्रिया देने के लिए किया जा सके। तौर तरीका। [IEEE मानक 610.12.1990]

मुझे पता है कि यह परिभाषा बहुत पुरानी है, बहुत पुरानी है। हालांकि, मैं IEEE (इंस्टीट्यूट ऑफ इलेक्ट्रिकल एंड इलेक्ट्रॉनिक्स इंजीनियर्स) द्वारा एक और हालिया परिभाषा ढूंढ सकता हूं।


2
दरअसल, 1990 बिल्कुल भी पुराना नहीं है। मैं 70 के दशक में यह चर्चा कर रहा था, और परिभाषा लगभग एक ही थी।
गर्म चाट

2

एक कार्य पर विचार करें जो सीरियल पोर्ट से डेटा इनपुट करता है। जब नया डेटा आता है तो सीरियल पोर्ट एक घटना को ट्रिगर करता है। जब सॉफ़्टवेयर उस ईवेंट को सेवा देता है, तो वह नए डेटा को पढ़ता है और संसाधित करता है। सीरियल पोर्ट में आने वाले डेटा को स्टोर करने के लिए एक हार्डवेयर होता है (2 MSP432 पर, 16 TM4C123 पर) जैसे कि यदि बफ़र भरा हुआ है और अधिक डेटा आता है, तो नया डेटा खो जाता है। क्या यह प्रणाली कठिन, दृढ़, या नरम वास्तविक समय है?

यह कठिन वास्तविक समय है क्योंकि यदि प्रतिक्रिया देर से होती है, तो डेटा खो सकता है।


एक सुनवाई सहायता पर विचार करें जो एक माइक्रोफोन से ध्वनि करता है, ध्वनि डेटा में हेरफेर करता है, और फिर एक स्पीकर को डेटा आउटपुट करता है। प्रणाली में आमतौर पर छोटे और बंधे हुए घबराहट होते हैं, लेकिन कभी-कभी श्रवण यंत्र के अन्य कार्यों में कुछ डेटा देर से होता है, जिससे स्पीकर पर एक पल्स हो जाता है। क्या यह प्रणाली कठिन, दृढ़ या नरम वास्तविक समय है?

यह वास्तविक समय है क्योंकि यह एक ऐसी त्रुटि का कारण बनता है जिसे माना जा सकता है लेकिन प्रभाव हानिरहित होता है और अनुभव की गुणवत्ता में उल्लेखनीय रूप से बदलाव नहीं करता है।


एक कार्य पर विचार करें जो डेटा को प्रिंटर पर आउटपुट करता है। जब प्रिंटर निष्क्रिय होता है तो प्रिंटर किसी घटना को ट्रिगर करता है। जब सॉफ़्टवेयर उस घटना को सेवा देता है, तो यह प्रिंटर को अधिक डेटा भेजता है। क्या यह प्रणाली कठिन, दृढ़ या नरम वास्तविक समय है?

यह नरम वास्तविक समय है क्योंकि यह तेजी से बेहतर प्रतिक्रिया करता है, लेकिन सिस्टम का मूल्य (बैंडविड्थ प्रति सेकंड मुद्रित डेटा की मात्रा है) विलंबता के साथ कम हो जाता है।

UTAustinX: UT.RTBN.12.01x रीयलटाइम ब्लूटूथ नेटवर्क


1

शायद परिभाषा में गलती है।

अपने अनुभव से, मैं हार्डवेयर और सॉफ्टवेयर पर निर्भर होने के नाते दोनों को अलग करूंगा।

यदि आपके पास एक हार्डवेयर चालित व्यवधान की सेवा करने के लिए 200ms हैं, तो आपको यही मिला है। आप वहाँ कोड के 300ms चिपकाते हैं और सिस्टम टूटा नहीं है, इसे विकसित नहीं किया गया है। समाप्त होने से पहले आपको स्विच आउट कर दिया जाएगा। आपका कोड काम नहीं करता है या उद्देश्य के लिए फिट नहीं है। कई प्रणालियों में कठिन परिभाषित प्रसंस्करण अवधि होती है। वीडियो, टेलीकॉम आदि।

यदि आप ऐसा एप्लिकेशन लिख रहे हैं जो वास्तविक समय का है, तो इसे नरम माना जा सकता है । यदि आप समय से बाहर भागते हैं तो आप अगली बार कम लोड की उम्मीद कर सकते हैं, आप ओएस को ट्यून कर सकते हैं, कुछ मेमोरी जोड़ सकते हैं या हार्डवेयर को भी अपग्रेड कर सकते हैं। आपके पास विकल्प हैं।

इसे UX के नजरिए से देखना मददगार नहीं है। एक स्कोडा को तोड़ा नहीं जा सकता है अगर यह चमकता है, लेकिन एक बीएमडब्ल्यू निश्चित रूप से नरक होगा।


क्या आप havekodas के खिलाफ है!
एरिक कपलुन

1

परिभाषा अवधि के विस्तार के लिए वर्षों में विस्तार किया गया है। जिसे अब "हार्ड" वास्तविक समय कहा जाता है, जिसे वास्तविक समय कहा जाता है। इसलिए जिन प्रणालियों में टाइमिंग विंडो (एकल-पक्षीय समय सीमा के बजाय) गुम हैं, वे गलत डेटा देंगे या गलत व्यवहार को वास्तविक समय माना जाना चाहिए। उस विशेषता के बिना सिस्टम को गैर-वास्तविक समय माना जाएगा।

यह कहना नहीं है कि समय गैर-वास्तविक समय प्रणालियों में कोई दिलचस्पी नहीं है, इसका मतलब सिर्फ इतना है कि ऐसी प्रणालियों में समय की आवश्यकताओं के परिणामस्वरूप मूल रूप से गलत परिणाम नहीं होते हैं।


1

हार्ड रियल टाइम सिस्टम प्राथमिकता शेड्यूलिंग के प्रीमेप्टिव संस्करण का उपयोग करता है, ताकि महत्वपूर्ण कार्य तुरंत निर्धारित हो जाएं, जबकि सॉफ्ट रियल टाइम सिस्टम प्राथमिकता शेड्यूलिंग के गैर-प्रीमेप्टिव संस्करण का उपयोग करता है, जो नियंत्रण को उच्च प्राथमिकता में स्थानांतरित करने से पहले वर्तमान कार्य को समाप्त करने की अनुमति देता है। कार्य, अतिरिक्त देरी का कारण। इस प्रकार कार्य की समय सीमा को क्रिटिकल रूप से हार्ड रियल टाइम सिस्टम में फॉलो किया जाता है, जबकि सॉफ्ट रियल टाइम सिस्टम में उन्हें गंभीरता से नहीं लिया जाता है।

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