2012-07-17 13 views
5

मैंने सुना है कि लिनक्स (RT_PREEMPT कर्नेल) में निष्पादन सिस्टम कॉल कभी वास्तविक समय-सुरक्षित नहीं है।क्या सभी सिस्टम गैर-रीयलटाइम-सुरक्षित कॉल करते हैं?

यह अत्यधिक-प्रतिबंधक लगता है - सिस्टम प्रक्रिया के बिना आपकी प्रक्रिया कुछ भी कैसे कर सकती है (जब तक इसे पूरी तरह से डीएमए के माध्यम से नहीं किया जाता)?

क्या यह सच है, या कुछ सिस्टम कॉल (जैसे clock_gettime) रीयलटाइम-सुरक्षित हैं?

+0

** ** "वास्तविक समय-सुरक्षा" * की ** ** ** सटीक ** परिभाषा * क्या है? –

+0

जहां तक ​​मेरा संबंध है, एक वास्तविक समय-सुरक्षित संचालन हमेशा एक छोटे से समय के भीतर पूरा या विफल हो जाएगा। हम एक नियंत्रण लूप को 1 किलोहर्ट्ज चलाने की कोशिश कर रहे हैं ... जाहिर है, हमें एफएस और कई अन्य परिचालनों से बचने की जरूरत है, लेकिन क्या हमें निष्पादन समय <1 एमएस की गारंटी के लिए * सभी * सिस्टम कॉल से बचने की ज़रूरत है? – crosstalk

+0

मिलीसेकंड से कम "निष्पादन समय की गारंटी" से आपका क्या मतलब है। क्या आपका जीवन उस वादे पर निर्भर करता है ???? मैं शर्त लगाऊंगा कि एक अच्छी तरह से कॉन्फ़िगर किए गए वास्तविक समय के साथ एक अच्छी तरह से कॉन्फ़िगर किए गए Linux RT_PREEMPT कर्नेल और सिस्टम पर एक अच्छी तरह से कोडित रीयलटाइम प्रोग्राम उस समय सीमा को पूरा करेगा; लेकिन आपको यह तय करना होगा कि मेरी भावना पर्याप्त है या नहीं। –

उत्तर

1

यदि "रीयलटाइम सुरक्षित" से आपका मतलब है कि बाध्य समय के भीतर निष्पादित करने की गारंटी है, तो लिनक्स, अधिकांश सामान्य उद्देश्य ऑपरेटिंग सिस्टम की तरह, रीयलटाइम सुरक्षित नहीं है।

विभिन्न real-time operating systems (आरटीओएस) ने इस तरह की गारंटी प्रदान की।

0

jack_interposer भंडार से आप functions फ़ाइल देख सकते हैं। ये रीयल-टाइम सुरक्षित हैं। यह पूछने से एक आसान सवाल है कि रीयल-टाइम सुरक्षित हैं। क्या बचा जाना चाहिए के लिए अंगूठे का एक अच्छा शासन कर रहे हैं:

  • किसी भी अवरुद्ध तुल्यकालन समारोह
  • किसी भी स्मृति आवंटन समारोह
  • कोई आई/ओ समारोह
  • एल्गोरिदम एक है (उपयोगकर्ता के अंतरिक्ष के भीतर) ओ (एन) से अधिक जटिलता, जहां एन इनपुट बफर में तत्वों की संख्या है।
संबंधित मुद्दे