लिनक्स SCHED_FIFO और SCHED_RR पर




linux xen (3)

मैं योजनाओं को शेड्यूल करने के लिए एक विशेषज्ञ नहीं हूं, लेकिन मेरी तरफ से देखें

man sched_setscheduler

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

एक SCHED_FIFO प्रक्रिया तब तक चलता है जब तक कि यह I / O अनुरोध से अवरुद्ध न हो, यह एक उच्च प्राथमिकता प्रक्रिया द्वारा preempted है, या यह sched_yield कॉल करता है (2)।

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

मैं एक बहुत छोटी डेमॉन लिख रहा हूँ जो कि तब भी संवेदनशील रहना चाहिए जब कोई सिस्टम गंभीर तनाव में हो। मैं शेड्यूलिंग के संबंध में SCHED_FIFO और SCHED_RR के बीच के मतभेदों को देख रहा हूं, साथ ही एक समझदार प्राथमिकता निर्धारित करने की कोशिश कर रहा हूं

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

मेरा कार्यक्रम 3k के तहत आवंटित कर रहा है (और मैकलॉल () का उपयोग करता है), यह लगभग 600 बाइट्स को एक्सनबस के लिए सोता है, फिर सोता है, लेकिन यह असंभव है कि मुझे यह बताएं कि एमएस में कितनी बार यह आंकड़ों को लिखने में लगेगा .. लिखा है एक विन्यास फाइल पर निर्भर करता है।

किसी भी सुझाव / स्पष्टीकरण के लिए अग्रिम धन्यवाद


कुख्यात pchdtvr प्रोग्राम, जो डिजिटल टीवी संकेतों को कैप्चर करता है, यह सुनिश्चित करने के लिए कि टीवी पैकेट डिस्क पर लिखे गए हैं, SCHED_FIFO का उपयोग करता है चाहे जो भी हो एक पुराने कंप्यूटर पर कयामत खेलते समय यह एक साथ 4 शो को कैप्चर कर सकता है।

यह प्रोग्राम कुख्यात है क्योंकि यह जीपीएल के तहत जारी किया गया था और लेखक ने जीपीएल को पूर्वव्यापी रूप से रद्द करने की कोशिश की इस अधिनियम ने एक मामूली फायरस्टॉर्म को उकसाया वैसे भी, आप http://frequal.com/pmn/pchdtvr.html पर अध्ययन करने के लिए एक हालिया संस्करण पा सकते हैं।


SCHED_FIFO को preempted नहीं किया जा सकता है (प्रसंग एक और प्रक्रिया में बदल दिया गया है) जब तक कि उच्च प्राथमिकता की कोई अन्य प्रक्रिया निष्पादन कतार में दिखाई नहीं देती।

SCHED_RR को समय की मात्रा (निष्पादित करने के लिए दी गई देरी) से पूर्व में रखा जा सकता है।

वे दोनों लिनक्स आधारित शेड्यूलर की वास्तविक समय प्राथमिकताएं हैं






scheduled-tasks