प्राथमिकता निर्धारण एल्गोरिथ्म: प्रीमेप्टिव, नॉन-प्रीमेप्टिव एक्सपेंले

विषय - सूची:

Anonim

प्राथमिकता निर्धारण क्या है?

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

उच्च प्राथमिकता वाली प्रक्रियाओं को पहले किया जाना चाहिए, जबकि समान प्राथमिकताओं वाली नौकरियों को राउंड-रॉबिन या FCFS के आधार पर किया जाता है। प्राथमिकता स्मृति आवश्यकताओं, समय आवश्यकताओं आदि पर निर्भर करती है।

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

  • प्राथमिकता निर्धारण क्या है?
  • प्राथमिकता निर्धारण के प्रकार
  • प्राथमिकता निर्धारण के लक्षण
  • प्राथमिकता निर्धारण का उदाहरण
  • प्राथमिकता निर्धारण के लाभ
  • प्राथमिकता निर्धारण का नुकसान

प्राथमिकता निर्धारण के प्रकार

प्राथमिकता निर्धारण दो मुख्य प्रकारों में विभाजित है:

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

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

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

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

प्राथमिकता निर्धारण के लक्षण

  • एक CPU एल्गोरिथ्म जो प्राथमिकता के आधार पर प्रक्रियाओं को शेड्यूल करता है।
  • यह बैच प्रक्रियाओं के प्रदर्शन के लिए ऑपरेटिंग सिस्टम में उपयोग किया जाता है।
  • यदि एक ही प्राथमिकता वाले दो काम READY हैं, तो यह एक पहले COM, FIRST SERVED आधार पर काम करता है।
  • प्राथमिकता निर्धारण में, एक संख्या प्रत्येक प्रक्रिया को दी जाती है जो उसके प्राथमिकता स्तर को इंगित करती है।
  • संख्या कम, प्राथमिकता अधिक है।
  • इस प्रकार के शेड्यूलिंग एल्गोरिदम में, यदि कोई नई प्रक्रिया आती है, जो वर्तमान में चल रही प्रक्रिया की तुलना में उच्च प्राथमिकता रखती है, तो वर्तमान में चल रही प्रक्रिया पूर्वनिर्धारित है।

प्राथमिकता निर्धारण का उदाहरण

P1 से P5 तक पांच प्रक्रियाओं का पालन करें। प्रत्येक प्रक्रिया की अपनी अनूठी प्राथमिकता होती है, समय और आगमन का समय।

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

चरण 0) समय = 0 पर, प्रक्रिया P1 और P2 आते हैं। पी 1 की पी 2 से अधिक प्राथमिकता है। निष्पादन P1 प्रक्रिया से शुरू होता है, जिसने समय 4 को नष्ट कर दिया है।

चरण 1) समय = 1 पर, कोई नई प्रक्रिया नहीं आती है। पी 1 के साथ निष्पादन जारी है।

चरण 2) समय 2 पर, कोई नई प्रक्रिया नहीं आती है, इसलिए आप पी 1 के साथ जारी रख सकते हैं। P2 इंतज़ार की कतार में है।

चरण 3) समय 3 पर, कोई नई प्रक्रिया नहीं आती है ताकि आप पी 1 के साथ जारी रख सकें। प्रतीक्षा कतार में P2 प्रक्रिया अभी भी।

चरण 4) समय 4 पर, पी 1 ने इसका निष्पादन समाप्त कर दिया है। P2 निष्पादन शुरू करता है।

चरण 5) समय = 5 पर, कोई नई प्रक्रिया नहीं आती है, इसलिए हम P2 के साथ जारी रखते हैं।

चरण ६) समय = ६, पी ३ आता है। पी 3 प्राथमिकता वाले (2) की तुलना में पी 3 उच्च प्राथमिकता (1) पर है। पी 2 पूर्वनिर्मित है, और पी 3 इसका निष्पादन शुरू करता है।

प्रोसेस वरीयता बर्स्ट टाइम आने का समय
P1 1
P2 3 में से 1 लंबित है
पी 3 1
पी 4 1 1
पी 5 १२

चरण 7) समय 7 पर, कोई नई प्रक्रिया नहीं आती है, इसलिए हम पी 3 के साथ जारी रखते हैं। P2 इंतज़ार की कतार में है।

चरण 8) समय = 8 पर, कोई नई प्रक्रिया नहीं आती है, इसलिए हम P3 के साथ जारी रख सकते हैं।

चरण 9) समय = 9 पर, कोई नई प्रक्रिया नहीं आती है इसलिए हम पी 3 के साथ जारी रख सकते हैं।

चरण 10) समय अंतराल 10 पर, कोई नई प्रक्रिया नहीं आती है, इसलिए हम पी 3 के साथ जारी रखते हैं

चरण 11) समय = 11 पर, P4 प्राथमिकता के साथ आता है। P3 की उच्च प्राथमिकता है, इसलिए यह अपने निष्पादन को जारी रखता है।

प्रोसेस वरीयता बर्स्ट टाइम आने का समय
P1 1
P2 3 में से 1 लंबित है
पी 3 1 7 में से 2 लंबित हैं
पी 4 1 1
पी 5 १२

चरण 12) समय = 12, पी 5 आता है। पी 3 की उच्च प्राथमिकता है, इसलिए यह निष्पादन जारी रखता है।

चरण 13) समय = 13 पर, P3 निष्पादन पूर्ण करता है। हमारे पास तैयार कतार में पी 2, पी 4, पी 5 है। पी 2 और पी 5 की समान प्राथमिकता है। पी 5 से पहले पी 2 का आगमन समय है। तो P2 निष्पादन शुरू करता है।

प्रोसेस वरीयता बर्स्ट टाइम आने का समय
P1 1
P2 3 में से 1 लंबित है
पी 3 1
पी 4 1 1
पी 5 १२

चरण 14) समय = 14 पर, पी 2 प्रक्रिया ने अपना निष्पादन समाप्त कर दिया है। P4 और P5 प्रतीक्षारत स्थिति में हैं। P5 की सर्वोच्च प्राथमिकता है और निष्पादन शुरू करता है।

चरण 15) समय = 15 पर, P5 निष्पादन जारी रखता है।

चरण 16) समय = 16 पर, पी 5 इसके निष्पादन के साथ समाप्त हो गया है। पी 4 एकमात्र प्रक्रिया है। यह निष्पादन शुरू होता है।

चरण 17) समय = 20 पर, P5 ने निष्पादन पूरा कर लिया है और कोई प्रक्रिया नहीं बची है।

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

प्रतीक्षा समय = प्रारंभ समय - आगमन का समय + अगले फटने के लिए प्रतीक्षा समय

P1 = o - o = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6

प्राथमिकता निर्धारण के लाभ

यहां, प्राथमिकता शेड्यूलिंग पद्धति का उपयोग करने के लाभ / नियम हैं:

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

प्राथमिकता निर्धारण का नुकसान

यहाँ, प्राथमिकता निर्धारण के विपक्ष / कमियां हैं

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

सारांश:

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