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

बहुस्तरीय फीडबैक कतार (एमएलएफक्यू):अनुकूली सीपीयू शेड्यूलिंग एल्गोरिदम

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

<पी> बहुस्तरीय फीडबैक कतार संरचना कतार 0 (उच्चतम प्राथमिकता) समय क्वांटम:1 कतार 1 (मध्यम प्राथमिकता) समय क्वांटम:2 कतार 2 (न्यूनतम प्राथमिकता) एफसीएफएस सीपीयू नई प्रक्रिया समय समाप्त होने पर पदावनत करें उम्र बढ़ना:प्रतीक्षा करने के बाद प्रक्रिया संचलन नियम को बढ़ावा दें? नई प्रक्रियाएँ कतार 0 में प्रारंभ होती हैं? यदि समय की मात्रा समाप्त हो जाती है? अगली निचली कतार में जाएँ? उम्र बढ़ने का तंत्र भुखमरी को रोकता है

एमएलएफक्यू कैसे काम करता है

<पी> एल्गोरिदम निम्नलिखित प्रमुख सिद्धांतों के साथ काम करता है:

  • <पी> प्राथमिकता-आधारित शेड्यूलिंग उच्च प्राथमिकता वाली कतारें पहले परोसी जाती हैं

  • <पी> परिवर्तनीय समय क्वांटम उच्च प्राथमिकता वाली कतारों में समय के टुकड़े छोटे होते हैं

  • <पी> गतिशील प्राथमिकता समायोजन प्रक्रियाएँ व्यवहार के आधार पर कतारों के बीच चलती हैं

  • <पी> उम्र बढ़ने की प्रक्रिया लंबी प्रतीक्षा वाली प्रक्रियाओं को बढ़ावा देकर भुखमरी को रोकती है

उदाहरण

<पी> निम्नलिखित विशेषताओं वाली तीन प्रक्रियाओं पर विचार करें:

प्रक्रिया आगमन का समय विस्फोट समय प्रारंभिक कतार P108क्यू 0P214क्यू 0P322क्यू 0 <पी> कतार 0 में समय क्वांटम =1, कतार 1 में समय क्वांटम =2, और कतार 2 में एफसीएफएस का उपयोग किया जा रहा है:

<पी> एमएलएफक्यू निष्पादन समयरेखा पी1 पी2 पी3 पी2 पी1 पी2 पी1 (कतार 2 - एफसीएफएस) 0 1 2 3 4 6 8 14 क्यू0 क्यू0 क्यू0 क्यू1 क्यू1 क्यू1 क्यू2

मामलों का उपयोग करें

<पी> एमएलएफक्यू निम्नलिखित परिदृश्यों में विशेष रूप से प्रभावी है:

  • <पी> इंटरएक्टिव एप्लिकेशन वेब ब्राउज़र, टेक्स्ट एडिटर और जीयूआई एप्लिकेशन उपयोगकर्ता इंटरैक्शन के लिए त्वरित प्रतिक्रिया समय से लाभान्वित होते हैं

  • <पी> टाइम-शेयरिंग सिस्टम बहु-उपयोगकर्ता सिस्टम जहां इंटरैक्टिव और बैच दोनों प्रक्रियाएं सह-अस्तित्व में होती हैं

  • <पी> वास्तविक समय प्रणाली महत्वपूर्ण और गैर-महत्वपूर्ण कार्यों के लिए अलग-अलग प्राथमिकता स्तरों की आवश्यकता वाली प्रणालियाँ

  • <पी> गेमिंग एप्लिकेशन गेम्स को ऑडियो और नेटवर्किंग जैसे पृष्ठभूमि कार्यों को प्रबंधित करते समय उत्तरदायी इनपुट हैंडलिंग की आवश्यकता होती है

फायदे

  • <पी> बेहतर प्रतिक्रिया समय, उच्च प्राथमिकता वाली कतारों में छोटी प्रक्रियाओं पर तुरंत ध्यान दिया जाता है

  • <पी> गतिशील प्राथमिकता समायोजन स्वचालित रूप से प्रक्रिया व्यवहार पैटर्न के अनुकूल हो जाता है

  • <पी> भुखमरी को रोकता है एजिंग तंत्र यह सुनिश्चित करता है कि लंबे समय से प्रतीक्षा कर रही प्रक्रियाओं को अंततः सीपीयू समय मिले

  • <पी> अच्छा थ्रूपुट संतुलन, इंटरैक्टिव और बैच प्रोसेसिंग की आवश्यकता प्रभावी ढंग से होती है

  • <पी> लचीले कॉन्फ़िगरेशन समय की मात्रा और कतारों की संख्या को विशिष्ट कार्यभार के लिए समायोजित किया जा सकता है

नुकसान

  • <पी> कार्यान्वयन जटिलता विभिन्न नीतियों के साथ एकाधिक कतारों को प्रबंधित करने से सिस्टम जटिलता बढ़ जाती है

  • <पी> उच्चतर ओवरहेड &माइनस
<पी> बहुस्तरीय फीडबैक कतार (एमएलएफक्यू):अनुकूली सीपीयू शेड्यूलिंग एल्गोरिदम


  1. सीएसएस अनुवाद () फ़ंक्शन सीएसएस अनुवाद () फ़ंक्शन

    CSS में ट्रांसलेट () फ़ंक्शन का उपयोग किसी तत्व को क्षैतिज और लंबवत दिशा में स्थानांतरित करने के लिए किया जाता है। उदाहरण आइए अब एक उदाहरण देखें - <!DOCTYPE html> <html> <head> <style> #demo1 {background-color: hsla(140, 100%, 50%, 0.8);} #demo2 {background-color: hsla(130,

  1. एंड्रॉइड ConcurrentLinkedQueue में पूल () का उपयोग कैसे करें? एंड्रॉइड ConcurrentLinkedQueue में पूल () का उपयोग कैसे करें?

    एक उदाहरण में जाने से पहले, हमें पता होना चाहिए कि ConcurrentLinkedQueue क्या है, यह लिंक्ड नोड्स पर आधारित एक अनबाउंड क्यू है। एकाधिक थ्रेड सुरक्षा के साथ कतार तत्वों तक पहुंच सकते हैं। तत्व क्यू रणनीति के आधार पर फीफो के रूप में यात्रा करते हैं और तत्व एक पूंछ से सम्मिलित करने जा रहे हैं। यह शून्य

  1. एंड्रॉइड में प्रोग्रामेटिक रूप से टेक्स्टव्यू का लेआउट वजन कैसे सेट करें? एंड्रॉइड में प्रोग्रामेटिक रूप से टेक्स्टव्यू का लेआउट वजन कैसे सेट करें?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में प्रोग्रामेटिक रूप से टेक्स्ट व्यू का लेआउट वजन कैसे सेट करूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में ज