सी प्रोग्रामिंग में राउंड रॉबिन शेड्यूलिंग



यह लेख आपको सी प्रोग्रामिंग में राउंड रॉबिन शेड्यूलिंग को लागू करने के बारे में विस्तृत और व्यापक ज्ञान प्रदान करेगा।

इस लेख में, हम राउंड-रॉबिन शेड्यूलिंग एल्गोरिदम नामक शेड्यूलिंग एल्गोरिदम के बारे में जानेंगे, राउंड-रॉबिन क्या है? प्रोग्राम कैसे लिखें? आदि शुरू करते हैं।

राउंड रॉबिन शेड्यूलिंग क्या है?

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





राउंड रॉबिन शेड्यूलिंग

झांकी में डेटा सम्मिश्रण क्या है

सीपीयू लंबे समय तक कोई प्रक्रिया नहीं रखेगा। स्विचिंग को एक संदर्भ स्विच कहा जाता है। यह शायद सबसे अच्छा शेड्यूलिंग एल्गोरिदम में से एक है। इस एल्गोरिथ्म की दक्षता क्वांटम मूल्य पर निर्भर करती है।



राउंड रॉबिन शेड्यूलिंग अल्गोरमेट

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

उदाहरण कोड पर विचार करें

# इंक्लूड इंट मेन () {इंट आई, लिमिट, टोटल = 0, एक्स, काउंटर = 0, टाइम_क्वांटम इंट वेट_टाइम = 0, टर्नअराउंड_टाइम = 0, आगमन_टाइम [10], फट_टाइम [10], टेम्प [10] फ्लोट औसत_वाइट_टाइम, एवरेज_टर्न_टाइम प्रिंटफ ('प्रक्रिया की कुल संख्या: t') स्कैनफ ('% d', और सीमा) x = के लिए सीमा (i = 0 i)) % dttt% d ', i + 1, बर्स्ट_टाइम [i], कुल - आगमन_ समय [i], कुल - आगमन_ समय [i] - फट_टाइम [i]) प्रतीक्षा_टाइम = प्रतीक्षा_ कुल + आगमन_मैं [i] - फट_टाइम [i] पलटवार_टाइम = टर्नअराउंड_टाइम + टोटल - आगमन_टाइम [आई] काउंटर = ०} अगर (आई == लिमिट - १) {आई = ०} और अगर (आगमन_ आई [१+]<= total) { i++ } else { i = 0 } } average_wait_time = wait_time * 1.0 / limit average_turnaround_time = turnaround_time * 1.0 / limit printf('nnAverage Waiting Time:t%f', average_wait_time) printf('nAvg Turnaround Time:t%fn', average_turnaround_time) return 0 }

OUTPUT:

शोषण:

उपरोक्त कोड में, हम उपयोगकर्ता से प्रक्रियाओं की संख्या और आगमन समय दर्ज करने और प्रत्येक प्रक्रिया के लिए समय नष्ट करने के लिए कहते हैं। फिर हम राउंड-रॉबिन एल्गोरिथ्म का उपयोग करते हुए समय और प्रतीक्षा समय की गणना करते हैं।

यहाँ मुख्य भाग समय और प्रतीक्षा समय के आसपास बारी की गणना कर रहा है। कुल समय को जोड़कर और आगमन के समय को घटाकर समय की गणना की जाती है।

प्रतीक्षा समय की गणना आगमन के समय को घटाकर की जाती है और कुल से समय को नष्ट कर दिया जाता है और इसे प्रतीक्षा समय में t0 जोड़ दिया जाता है। इस तरह राउंड-रॉबिन शेड्यूलिंग होती है।



लाभ:

  • निर्णय लेने के लिए कम ओवरहेड।
  • अन्य एल्गोरिदम के विपरीत, यह सभी प्रक्रियाओं को समान प्राथमिकता देता है।
  • इस प्रक्रिया में शायद ही कभी भुखमरी होती है।

छूट:

  • अगर बार-बार स्विचिंग होती है तो क्वांटम वैल्यू कम होने पर सिस्टम की कार्यक्षमता कम हो जाती है।
  • क्वांटम मान अधिक होने पर सिस्टम अप्रतिसादी हो सकता है।

इसके साथ, हम इस लेख के अंत में आते हैं।

मुझे आशा है कि आपको यह जानकारीपूर्ण और उपयोगी लगा, समान विषयों पर अधिक ट्यूटोरियल के लिए बने रहें। आप हमारे प्रशिक्षण कार्यक्रम को भी देख सकते हैंo अपने विभिन्न अनुप्रयोगों के साथ jQuery पर गहराई से ज्ञान प्राप्त करें, आप कर सकते हैं 24/7 समर्थन और आजीवन पहुंच के साथ लाइव ऑनलाइन प्रशिक्षण के लिए।उपरोक्त कोड को विभिन्न तार और संशोधनों के साथ लागू करें। अब, हमें पॉइंटर से संबंधित सभी प्रमुख अवधारणाओं की अच्छी समझ है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? उन्हें इस ब्लॉग के टिप्पणी अनुभाग में उल्लेख करें और हम आपके पास वापस आ जाएंगे।

जावा में एक आरक्षित शब्द क्या है