ऑपरेटिंग सिस्टम में प्रीपेडिव और गैर-प्रीपेडिव शेड्यूलिंग के बीच अंतर;

Anonim

प्रोसेसर शेड्यूलिंग (या सीपीयू शेड्यूलिंग ) यह निर्धारित करता है कि किस प्रक्रिया को असाइन किया जाता है, और सीपीयू से हटाया जाता है, जैसे कि अनुशंसित और गैर -प्राप्ति निर्धारण (जिसे सहकारी अनुसूचन के रूप में भी जाना जाता है)।

पुराने सिस्टम सरल स्टैंड-अलोन मोड में काम कर सकते हैं, लेकिन बढ़ते हुए उत्तरदायी, लचीली प्रणालियों के साथ-साथ वर्चुअलाइजेशन की जरूरत है, बहु-प्रसंस्करण कुशलतापूर्वक प्रबंधन सभी कार्य प्रसंस्करण अनुरोधों को त्वरित प्रतिक्रिया प्रदान करता है।

निर्धारण इकाइयों को अक्सर कार्य के रूप में संदर्भित किया जाता है और यह शेड्यूलर का काम है जब भी आवश्यक हो, इन कार्यों को चलाने और प्रबंधित करने के लिए, शेड्यूलर को कार्य को हटाने और प्रोसेसिंग के लिए सीपीयू को सौंपा जाता है; इस्तेमाल किया शेड्यूलिंग मॉडल के लिए आईएनजी।

कैसे शेड्यूलर को पता है कि कौन से कार्य प्राथमिकता है?

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

कार्य प्रसंस्करण करते समय दो राज्यों में हो सकता है:

  1. एक सीपीयू फट जहां सीपीयू कार्य को कार्य करने की गणना करता है (सीपीयू फट के लिए कार्य कार्य से कार्य के लिए भिन्न होता है, और कार्यक्रम के लिए कार्यक्रम)।
  2. एक इनपुट / आउटपुट (आई / ओ) में फट सिस्टम से डेटा प्राप्त करने या भेजने के लिए इंतजार कर रहा है।

जब सीपीयू बेकार है, तो शेड्यूलर तैयार कतार पढ़ता है, और चलाने के लिए अगले कार्य का चयन करता है। फिर, यह डिस्पैचर है जो सीपीयू का चयनित कार्य नियंत्रण देता है, इसलिए इसे तेज़ होना चाहिए! डिस्पैचर द्वारा उठाए गए किसी भी समय को डिस्पेच लेटेंसी के रूप में जाना जाता है

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

आम तौर पर, सीपीयू उपयोग, थ्रूपुट आदि के अनुकूलन और अधिकतम करने के बारे में।

समय-निर्धारणकर्ता को निम्न चरणों में से एक के दौरान निर्णय करना है:

  1. जब कार्य रनिंग प्रतीक्षा राज्य (उदाहरण के लिए, I / O अनुरोध के दौरान प्रतीक्षा कर रहे हैं)।
  2. जब कार्य चल रहा है से तैयार < (उदाहरण के लिए एक अंतराल पर प्रतिक्रिया दें) जब कार्य
  3. प्रतीक्षा कर रहा है से तैयार < (उदाहरण के लिए एक आई / ओ अनुरोध पूरा हो गया है)। जब कार्य
  4. सीपीयू का पूर्ण उपयोग सुनिश्चित करने के चरण 1 या 4 होने के लिए, और चरण 2 और 3 दोनों में, कार्य चल रहा हो या एक नया चयनित। कार्य को कैसे संसाधित किया जाता है, यह समझने के बाद, दो दोहराए जाने वाले मॉडल को देखें जो CPU इंटरप्ट्स से निपटते हैं।

दोनों कार्यों, कार्य राज्यों, कतारों और प्राथमिकताओं (स्थिर या गतिशील) के साथ समान विशेषताएं हैं:

गैर-प्रीपेडिव शेड्यूलिंग

तब होता है जब कोई कार्य तब तक चलता रहता है जब तक यह (स्वेच्छा से) बंद नहीं हो जाता है, या खत्म हो जाता है। Windows® में गैर-प्रीपेडिव शेड्यूलिंग के लिए विंडोज 3 था। X, जिसके बाद इसे विंडोज 95 से प्रीपेडिव में बदल दिया गया।

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

समयबद्धन फिर सभी कार्यों की जांच करता है और

तैयार

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

शेड्यूलर सुनिश्चित करता है कि प्रत्येक कार्य को सीपीयू का हिस्सा मिलता है, किसी भी काम में किसी भी देरी से बचने। सीपीयू को आवंटित 'समय की मात्रा' आवश्यक रूप से बराबर नहीं हो सकती, क्योंकि यह इस बात पर निर्भर करता है कि कार्य कब तक पूरा होता है।

प्रीपेडिव स्केबिलिंग

यह शेड्यूलिंग मॉडल कार्य को बाधित करने की अनुमति देता है - गैर-प्रीपेड स्पीडलिंग के विपरीत जो "रन-टू-पूर्ण" दृष्टिकोण है

इंटरप्ट, जो बाहरी कॉल से शुरू किया जा सकता है, एक और उच्च प्राथमिकता वाले कार्य को प्रबंधित करने के लिए चलने वाले कार्य को रोकने के लिए शेड्यूलर को आह्वान करता है - इसलिए सीपीयू का नियंत्रण preempted किया जा सकता है

एक

तैयार < राज्य में सर्वोच्च प्राथमिकता का कार्य निष्पादित होता है, वास्तविक समय की घटनाओं के त्वरित प्रतिक्रिया की अनुमति देता है।

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

विभिन्न नीतियों में कई भिन्नताएं और निर्भरताएं परिभाषित की जा सकती हैं, जैसे कि

"राउंड रॉबिन पॉलिसी [i]"

जहां प्रत्येक कार्य (समान प्राथमिकता के साथ) एक बार चलता है, और फिर अगले चक्र के लिए कतार के अंत में रखा गया

अन्य नीतियां शामिल हैं प्रथम-प्रथम-आउट , कम से कम-नौकरी-पहले , कम से कम-नौकरी-अगला , सबसे छोटा समय , आदि। ऐतिहासिक डेटा का विश्लेषण पहलुओं पर जानकारी प्रदान कर सकता है, जैसे कि नए कार्य आते हैं, सीपीयू और आई / ओ फ़ॉर्स्ट्स इत्यादि। संभाव्यता वितरण कार्य की प्रतीक्षा करने वाले समय की विशेषताओं की गणना कर सकते हैं, शेड्यूलिंग मॉडल को परिभाषित करने के लिए संबंधित डेटा वाले व्यवस्थापक।