राउंड-रॉबिन शेड्यूलिंग: एक प्रक्रिया को कई बार सूचीबद्ध करने की अनुमति दें?


9

एक राउंड-रॉबिन अनुसूचक में, प्रक्रिया सूची में कई बार एक प्रक्रिया जोड़ना यह उच्च प्राथमिकता देने का एक सस्ता तरीका है।

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

(एंड्रयू टैनेबाउम के ऑपरेटिंग सिस्टम में व्यायाम 2.16 से : डिजाइन और कार्यान्वयन 1 एड।)


तन्नेबाम ने कई किताबें लिखीं। शायद आप ऑपरेटिंग सिस्टम का मतलब है ।
डेव क्लार्क

@DaveClarke हां, इसे इंगित करने के लिए धन्यवाद। (और वास्तव में, मेरे पास यहां सब कुछ एक अनुवाद है, लेकिन मुझे नहीं लगता कि यह पाठ के किसी भी हिस्से को याद कर रहा है।)
गाइल्स का SO- दुष्ट होना बंद करें '

जवाबों:


4

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

एक नकारात्मक बिंदु यह है कि एक प्रक्रिया को हटाना अधिक महंगा होगा, क्योंकि प्रक्रिया की प्रत्येक घटना को कतार से हटाना होगा। शायद यह आलसी हो सकता है, हालांकि।


2

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

आइटमों को कतार से हटाने की अधिक जटिल प्रक्रिया के अलावा, कतार में प्रक्रिया प्रविष्टियों के अंतिम तिरछेपन के परिणामस्वरूप असंतुलित व्यवहार होगा, जो कई प्राथमिकता स्तरों के साथ उचित बनाना आसान है।


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