विंडोज एक्सपी में शेड्यूलिंग एल्गोरिदम


2

अब कोई भी जो शेड्यूलिंग एल्गोरिदम विंडोज़ एक्सपी में लागू किया जाता है? क्या ULE एल्गोरिथ्म को स्थापित / उपयोग करने की कोई संभावना है? मेरे ख़्याल से नहीं।

धन्यवाद।

जवाबों:


2

AFAIK आप बदल नहीं सकते (यानी स्थापित) विंडोज़ के विभिन्न शेड्यूलिंग एल्गोरिदम। इसे तब लागू किया जाता है जब इसे डिज़ाइन किया जाता है। और मैंने कहीं यह भी पढ़ा कि विंडोज एनटी आधारित ओएस 'शेड्यूलिंग एल्गो के रूप में एक मल्टीलेवल फीडबैक क्यू का उपयोग करता है।

एक बहुस्तरीय प्रतिक्रिया कतार एक शेड्यूलिंग एल्गोरिथ्म है। यह इरादा है   मल्टीमोड सिस्टम के लिए निम्नलिखित डिजाइन आवश्यकताओं को पूरा करने के लिए:

  1. छोटी नौकरियों को प्राथमिकता दें।
  2. I / O बाध्य प्रक्रियाओं को प्राथमिकता दें।
  3. किसी प्रक्रिया की प्रकृति को जल्दी से स्थापित करें और तदनुसार प्रक्रिया को शेड्यूल करें।

एकाधिक FIFO कतार का उपयोग किया जाता है और ऑपरेशन निम्नानुसार है:

  1. एक नई प्रक्रिया शीर्ष-स्तरीय फीफो कतार के अंत में तैनात है।
  2. कुछ स्तर पर यह प्रक्रिया कतार के प्रमुख तक पहुंचती है और सीपीयू को सौंपा जाता है।
  3. यदि प्रक्रिया पूरी हो जाती है तो यह सिस्टम को छोड़ देता है।
  4. यदि प्रक्रिया स्वेच्छा से नियंत्रण को त्याग देती है तो यह कतारबद्ध नेटवर्क को छोड़ देती है, और जब यह प्रक्रिया फिर से तैयार हो जाती है तो यह प्रवेश करती है   एक ही कतार स्तर पर प्रणाली।
  5. यदि प्रक्रिया सभी क्वांटम समय का उपयोग करती है, तो यह पूर्व-खाली है और अगले निचले स्तर की कतार के अंत में स्थित है।
  6. यह तब तक जारी रहेगा जब तक कि यह प्रक्रिया पूरी नहीं हो जाती या यह बेस लेवल कतार में नहीं पहुंच जाता।

    • बेस लेवल पर कतारें राउंड रॉबिन फैशन में परिचालित होती हैं जब तक कि वे पूरी नहीं होती हैं और सिस्टम को छोड़ देती हैं।
    • वैकल्पिक रूप से, यदि एक प्रक्रिया I / O के लिए ब्लॉक होती है, तो यह एक स्तर पर 'पदोन्नत' होती है, और अगली-उच्चतम कतार के अंत में रखी जाती है।   यह I / O बाध्य प्रक्रियाओं को शेड्यूलर द्वारा पसंदीदा बनाने की अनुमति देता है और   आधार स्तर की कतार से 'बचने' के लिए प्रक्रियाओं की अनुमति देता है।

बहुस्तरीय प्रतिक्रिया कतार में, एक प्रक्रिया को सिर्फ एक मौका दिया जाता है   किसी दिए गए कतार स्तर पर पूरा करने से पहले इसे नीचे करने के लिए मजबूर किया जाता है   स्तर की कतार।


यह वास्तव में विंडोज एनटी-परिवार अनुसूचक का सही विवरण नहीं है। चरण 1 में, "शीर्ष-स्तरीय फीफो कतार" को "इसकी वर्तमान प्राथमिकता के लिए कतार" में बदलें। चरण 6 के लिए, "आधार स्तर की कतार" को "आधार प्राथमिकता के लिए कतार" में बदलें (जो आमतौर पर सिस्टम में सबसे निचली स्तर की कतार नहीं है)। इसके अलावा, I / O पूरा करने के लिए पदोन्नति I / O डिवाइस के आधार पर, स्तरों की संख्या अलग-अलग हैं; और, "प्रक्रिया" को "थ्रेड" में बदल दें। वहाँ और भी है; देखें विंडोज आंतरिक किताब।
Jamie Hanrahan

जब मैंने XP का उपयोग किया, तो इसमें एक राउंड रॉबिन (आउट मल्टीलेवल फीडबैक कतार के साथ) का व्यवहार था: एक एकल सीपीयू गहन कार्य प्रणाली को रोक देगा। मुझे लगता है कि मैंने कहीं पढ़ा है कि उन्होंने एसएमपी के साथ मल्टी लेवल फीडबैक कतार को जोड़ा है, और दो अलग-अलग कर्नेल थे, जो इस बात पर निर्भर करता है कि आपके पास मल्टी-कोर था या नहीं। यह बताता है कि क्यों Microsoft ने हमें बताया कि हमें एक द्वंद्वयुद्ध कोर प्रणाली की आवश्यकता है, बेहतर मल्टी-टास्किंग करने के लिए (यह मूल प्रदर्शन प्राप्त करने के लिए आवश्यक था जिसे हम यूनिक्स में उपयोग किया गया था)। मुझे लगता है कि यह बेहतर शेड्यूलर अब सिंगल कोर के लिए भी सक्षम है।
ctrl-alt-delor

NT के बाद से @richard No. यह बहुस्तरीय (32 प्राथमिकता स्तर) है।
Jamie Hanrahan

तो क्या प्रदर्शन अभी भी भयानक है, जब एक प्रक्रिया सीपीयू (एक सीपीयू-कोर, या कोर के एक हब) को संभालने की कोशिश करती है।
ctrl-alt-delor
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.