2012-02-10 9 views
5

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

संकल्प परिशुद्धता से अलग कैसे होता है?

http://www.mjmwired.net/kernel/Documentation/timers/

उत्तर

5

HPET 86 पीसी मंच हार्डवेयर (जो लिनक्स के लिए एक ड्राइवर है) के किसी विशिष्ट अंश को दर्शाता है। एचपीईटी का वर्णन इस प्रकार विकिपीडिया आर्टिटिकल में किया गया है: http://en.wikipedia.org/wiki/High_Precision_Event_Timer

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

+0

धन्यवाद! लेकिन क्या आप जानते हैं कि टाइमर उपप्रणाली संदर्भ में सटीकता और संकल्प के बीच अंतर हैं या नहीं? [] –

+1

@ पीटरसेना - मैं केवल इस बारे में अनुमान लगा रहा हूं; लेकिन मुझे लगता है कि "उच्च रिज़ॉल्यूशन" एचजेड (जेफिज़) प्रदान करने के मुकाबले छोटे समय के नियंत्रण को नियंत्रित करने में सक्षम होगा; "परिशुद्धता" कितनी अच्छी तरह से प्रोसेसर/ओएस अनुरोधित देरी का प्रबंधन करता है (उदाहरण के लिए यदि आप बार-बार उसी विलंब का अनुरोध करते हैं, तो आप भिन्न होंगे)। Http://stackoverflow.com/questions/16920238/reliability-of-linux- कर्नेल-add-timer-at-resolution-of-one-jiffy में, मुझे कम रिज़ॉल्यूशन चाहिए (टाइमर प्रत्येक जिफी हिट करता है), लेकिन मेरे पास परिशुद्धता के साथ समस्या किसी भी तरह खराब है (कर्नेल पूरी जिफ == पूरी अवधि छोड़ सकता है)। – sdaau

संबंधित मुद्दे