Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

वेरिएबल प्रोसेस आगमन समय के लिए अनुकूलित राउंड रॉबिन शेड्यूलिंग

राउंड रॉबिन (RR) एक प्रीमेप्टिव CPU शेड्यूलिंग एल्गोरिदम है जहां प्रत्येक प्रक्रिया को एक निश्चित समय स्लाइस आवंटित किया जाता जिसे क्वांटम कहा जाता है। शून्य आगमन समय वाले मानक राउंड रॉबिन के विपरीत, यह संस्करण उन प्रक्रियाओं को संभालता है जो अलग-अलग समय पर आती हैं, जिससे शेड्यूलिंग अधिक जटिल हो जाती है क्योंकि रेडी क्यू डायनामिक रूप से बदलती है।

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

अलग-अलग आगमन समय के साथ राउंड रॉबिन कैसे काम करता है

जब प्रक्रियाओं के अलग-अलग आगमन समय होते हैं, तो एल्गोरिदम इन चरणों का पालन करता है:

  • प्रक्रियाएं अपने आगमन समय के आधार पर रेडी क्यू में प्रवेश करती हैं

  • CPU पहली उपलब्ध प्रक्रिया को क्वांटम अवधि के लिए सेवा देता है

  • यदि प्रक्रिया क्वांटम के भीतर पूरी हो जाती है, तो यह समाप्त हो जाती है

  • यदि पूरी नहीं होती, तो यह रेडी क्यू के अंत में चली जाती है

  • नई आगमन रेडी क्यू में शामिल होती हैं और अपनी बारी का इंतजार करती हैं

  • कॉन्टेक्स्ट स्विचिंग प्रीमेप्टेड प्रक्रियाओं की स्थिति को बचाता है

मुख्य विशेषताएं

  • स्टारवेशन रोकता है: हर प्रक्रिया को अंततः CPU समय मिलता है

  • निष्पक्ष शेड्यूलिंग: सभी प्रक्रियाओं के लिए समान समय क्वांटम

  • अच्छी प्रतिक्रिया समय: इंटरएक्टिव और रियल-टाइम सिस्टम के लिए उपयुक्त

  • कॉन्टेक्स्ट स्विचिंग ओवरहेड: छोटा क्वांटम स्विचिंग लागत बढ़ाता है

उदाहरण 1 क्वांटम समय = 2

तीन प्रक्रियाओं पर विचार करें जिनके अलग-अलग आगमन और बर्स्ट समय हैं:

Process Arrival Time Burst Time
P1 0 4
P2 1 3
P3 2 7

गैंट चार्ट ? राउंड रॉबिन (क्वांटम = 2) P1 P2 P3 P1 P2 P3 0 2 4 6 8 9 14

चरण-दर-चरण निष्पादन

Time Process Ready Queue Action
0-2 P1 P1 P1 2 यूनिट के लिए चलता है, P2 t=1 पर आता है
2-4 P2 P2, P1 P2 2 यूनिट के लिए चलता है, P3 t=2 पर आता है
4-6 P3 P3, P1 P3 2 यूनिट के लिए चलता है
6-8 P1 P1, P2, P3 P1 शेष 2 यूनिट पूरा करता है
8-9 P2 P2, P3 P2 शेष 1 यूनिट पूरा करता है
9-14 P3 P3 P3 शेष 5 यूनिट पूरा करता है

औसत समय की गणना

Process Arrival Burst Completion Turnaround Waiting
P1 0 4 8 8 4
P2 1 3 9 8 5
P3 2 7 14 12 5

औसत टर्नअराउंड समय = (8 + 8 + 12) / 3 = 9.33 यूनिट

औसत वेटिंग समय = (4 + 5 + 5) / 3 = 4.67 यूनिट

उदाहरण 2 क्वांटम समय = 4

एक बड़े क्वांटम आकार के साथ:

Process Arrival Time Burst Time
P1 2 8
P2 0 7
P3 1 9

गैंट चार्ट ? राउंड रॉबिन (क्वांटम = 4) P2 P3 P1 P2 P3 P1 0 4 8 12 15 20 24

Process Arrival Burst Completion Turnaround Waiting
P1 2 8 24 22 14
P2 0 7 15 15 8
P3 1 9 20 19 10

औसत टर्नअराउंड समय = (22 + 15 + 19) / 3 = 18.67 यूनिट

औसत वेटिंग समय = (14 + 8 + 10) / 3 = 10.67 यूनिट

निष्कर्ष

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

वेरिएबल प्रोसेस आगमन समय के लिए अनुकूलित राउंड रॉबिन शेड्यूलिंग


  1. पायथन में जांचें कि कोई ऐरे बाइनरी सर्च ट्री का इनऑर्डर ट्रैवर्सल है या नहीं पायथन में जांचें कि कोई ऐरे बाइनरी सर्च ट्री का इनऑर्डर ट्रैवर्सल है या नहीं

    मान लीजिए हमारे पास संख्याओं का एक ऐरे nums है। हमें यह जांचना है कि क्या ऐरे बाइनरी सर्च ट्री के तत्वों को इसके इनऑर्डर ट्रैवर्सल के क्रम में रखता है या नहीं। उदाहरण के लिए, यदि इनपुट nums = [5, 8, 15, 18, 20, 26, 39] है, तो आउटपुट True होगा क्योंकि यह निम्न BST का इनऑर्डर ट्रैवर्सल है: समाधान

  1. वर्ग में अंतःवृत्त का क्षेत्रफल ज्ञात करने का प्रोग्राम वर्ग में अंतःवृत्त का क्षेत्रफल ज्ञात करने का प्रोग्राम

    एक वर्ग में अंतःवृत्त वह वृत्त है जो वर्ग की भुजाओं को उनके सिरों पर छूता है। यानी अंतःवृत्त का व्यास वर्ग की भुजा के बराबर होता है। क्षेत्रफल की गणना सूत्र ((π/4)×a×a) का उपयोग करके की जा सकती है जहां a वर्ग की भुजा की लंबाई है। कोड का तर्क - वर्ग के अंदर अंतःवृत्त का क्षेत्रफल सूत्र ((π/4)×a×a) क

  1. CSS के साथ दूसरी दिशा में मैट्रिक्स ट्रांसफॉर्म CSS के साथ दूसरी दिशा में मैट्रिक्स ट्रांसफॉर्म

    CSS के साथ दूसरी दिशा में मैट्रिक्स ट्रांसफॉर्म करने के लिए निम्नलिखित कोड आज़माएं: उदाहरण <html>    <head>       <style>          div {             width: 300px;           &nb