प्रीमेप्टिव बनाम गैर-प्रीमेप्टिव शेड्यूलिंग: मुख्य अंतर

विषय - सूची:

Anonim

निवारक निर्धारण क्या है?

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

उस समय, कम प्राथमिकता वाला कार्य कुछ समय के लिए होता है और उच्च प्राथमिकता वाले कार्य के पूरा होने पर फिर से शुरू होता है।

इस ऑपरेटिंग सिस्टम ट्यूटोरियल में, आप सीखेंगे:

  • निवारक निर्धारण क्या है?
  • गैर-निवारक निर्धारण क्या है?
  • OS में Preemptive और Non-Preemptive Scheduling में अंतर
  • निवारक निर्धारण के लाभ
  • गैर-पूर्वनिर्धारित निर्धारण के लाभ
  • निवारक निर्धारण का नुकसान
  • गैर-निवारक निर्धारण का नुकसान
  • गैर-निवारक निर्धारण का उदाहरण
  • पूर्व-खाली निर्धारण का उदाहरण

गैर-निवारक निर्धारण क्या है?

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

यह एकमात्र तरीका है जिसका उपयोग विभिन्न हार्डवेयर प्लेटफार्मों के लिए किया जा सकता है। ऐसा इसलिए है क्योंकि इसे प्रीमेप्टिव शेड्यूलिंग जैसे विशेष हार्डवेयर (उदाहरण के लिए, टाइमर) की आवश्यकता नहीं है।

गैर-निवारक निर्धारण तब होता है जब एक प्रक्रिया स्वैच्छिक रूप से प्रतीक्षा स्थिति में प्रवेश करती है या समाप्त हो जाती है।

OS में Preemptive और Non-Preemptive Scheduling में अंतर

यहाँ, OS में Preemptive और Non-Preemptive Scheduling हैं

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

निवारक निर्धारण के लाभ

यहाँ, निवारक निर्धारण पद्धति के पक्ष / लाभ हैं:

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

गैर-पूर्वनिर्धारित निर्धारण के लाभ

यहां, गैर-पूर्वनिर्धारित समयबद्धन विधि के लाभ / लाभ हैं:

  • कम शेड्यूलिंग ओवरहेड प्रदान करता है
  • उच्च थ्रूपुट की पेशकश करता है
  • यह वैचारिक रूप से बहुत सरल विधि है
  • निर्धारण के लिए कम कम्प्यूटेशनल संसाधनों की आवश्यकता होती है

निवारक निर्धारण का नुकसान

यहाँ, पूर्वनिर्धारित समयबद्धन विधि के विपक्ष / दोष हैं:

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

गैर-निवारक निर्धारण का नुकसान

यहाँ, गैर-निवारक निर्धारण पद्धति का विपक्ष / दोष हैं:

  • यह विशेष रूप से उन वास्तविक समय के कार्यों के लिए भुखमरी का कारण बन सकता है
  • कीड़े एक मशीन को जमने का कारण बन सकते हैं
  • यह वास्तविक समय और प्राथमिकता निर्धारण को कठिन बना सकता है
  • प्रक्रियाओं के लिए खराब प्रतिक्रिया समय

गैर-निवारक निर्धारण का उदाहरण

गैर-निवारक एसजेएफ शेड्यूलिंग में, एक बार सीपीयू चक्र को संसाधित करने के लिए आवंटित किया जाता है, यह प्रक्रिया तब तक रखती है जब तक यह प्रतीक्षा की स्थिति में या समाप्त नहीं हो जाती।

निम्नलिखित पांच प्रक्रियाओं पर विचार करें, जिनमें से प्रत्येक का अपना विशिष्ट समय और आगमन समय हो।

प्रक्रिया कतार बर्स्ट टाइम आने का समय
P1
P2
पी 3 1
पी 4
पी 5

चरण 0) समय = 0 पर, P4 आता है और निष्पादन शुरू करता है।

चरण 1) समय = 1 पर, प्रक्रिया P3 आता है। लेकिन, P4 को अभी भी पूरा करने के लिए 2 निष्पादन इकाइयों की आवश्यकता है। यह निष्पादन जारी रहेगा।

चरण 2) समय = 2 पर, प्रक्रिया P1 आती है और प्रतीक्षा कतार में जोड़ी जाती है। P4 निष्पादन जारी रखेगा।

चरण 3) समय = 3 पर, प्रक्रिया पी 4 अपना निष्पादन समाप्त कर देगी। पी 3 और पी 1 के फटने के समय की तुलना की जाती है। प्रक्रिया P1 को निष्पादित किया जाता है क्योंकि इसका फटने का समय P3 की तुलना में कम होता है।

चरण 4) समय = 4 पर, प्रक्रिया P5 आती है और प्रतीक्षा कतार में जोड़ी जाती है। P1 निष्पादन जारी रखेगा।

चरण 5) समय = 5 पर, पी 2 आता है और प्रतीक्षा कतार में जोड़ा जाता है। P1 निष्पादन जारी रखेगा।

चरण 6) समय = 9 पर, प्रक्रिया P1 अपने निष्पादन को समाप्त कर देगा। पी 3, पी 5 और पी 2 के फटने के समय की तुलना की जाती है। प्रोसेस पी 2 को निष्पादित किया जाता है क्योंकि इसका फटने का समय सबसे कम है।

चरण 7) समय = 10 पर, पी 2 निष्पादित हो रहा है, और पी 3 और पी 5 प्रतीक्षा कतार में हैं।

चरण 8) समय = 11 पर, प्रक्रिया पी 2 इसका निष्पादन समाप्त कर देगी। पी 3 और पी 5 के फटने के समय की तुलना की जाती है। प्रक्रिया P5 को निष्पादित किया जाता है क्योंकि इसका फटने का समय कम है।

चरण 9) समय = 15 पर, प्रक्रिया P5 इसका निष्पादन समाप्त कर देगा।

चरण 10) समय = 23 पर, प्रक्रिया P3 इसका निष्पादन समाप्त कर देगी।

चरण 11) आइए उपरोक्त उदाहरण के लिए औसत प्रतीक्षा समय की गणना करें।

Wait timeP4= 0-0=0P1= 3-2=1P2= 9-5=4P5= 11-4=7P3= 15-1=14Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2

पूर्व-खाली निर्धारण का उदाहरण

राउंड-रॉबिन में तीन प्रक्रियाओं के बाद इस पर विचार करें

प्रक्रिया कतार बर्स्ट टाइम
P1
P2
पी 3

चरण 1) निष्पादन P1 प्रक्रिया से शुरू होता है, जिसने समय 4 को नष्ट कर दिया है। यहां, हर प्रक्रिया 2 सेकंड के लिए निष्पादित होती है। P2 और P3 अभी भी प्रतीक्षा कतार में हैं।

चरण 2 ) समय = 2 पर, P1 को कतार के अंत में जोड़ा जाता है और P2 क्रियान्वित होने लगता है

चरण 3) समय = 4 पर, पी 2 प्रीमिटेड है और कतार के अंत में जोड़ें। P3 क्रियान्वित होने लगता है।

चरण ४) समय = ६ पर, पी ३ को पूर्व निर्धारित किया जाता है और कतार के अंत में जोड़ा जाता है। P1 क्रियान्वित होने लगता है।

चरण 5) समय = 8 पर, पी 1 का विस्फोट समय 4. यह निष्पादन पूरा कर चुका है। P2 निष्पादन शुरू करता है

चरण 6) पी 2 के फटने का समय 3. ​​यह पहले से ही 2 अंतराल के लिए निष्पादित किया गया है। समय = 9 पर, P2 निष्पादन को पूरा करता है। फिर, P3 पूरा होने तक निष्पादन शुरू करता है।

चरण 7) आइए उपरोक्त उदाहरण के लिए औसत प्रतीक्षा समय की गणना करें।

Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7

प्रमुख स्रोत

  • प्रीमेप्टिव शेड्यूलिंग में, सीपीयू को एक विशिष्ट समयावधि के लिए प्रक्रियाओं को आवंटित किया जाता है, और गैर-प्रीमेप्टिव शेड्यूलिंग सीपीयू को प्रक्रिया समाप्त होने तक आवंटित किया जाता है।
  • प्रीमेप्टिव शेड्यूलिंग में, कार्यों को प्राथमिकता के आधार पर स्विच किया जाता है जबकि गैर-प्रीमेप्टिव शेड्यूलिंग में कोई स्विचिंग नहीं होती है।
  • प्रीमेप्टिव एल्गोरिथ्म में तैयार अवस्था से चल रहे राज्य में स्विच करने का ओवरहेड है, जबकि गैर-प्रीमेप्टिव शेड्यूलिंग में स्विचिंग का ऐसा ओवरहेड नहीं है।
  • प्रीमेप्टिव शेड्यूलिंग लचीला है जबकि गैर-प्रीमेप्टिव शेड्यूलिंग कठोर है।