बैंकर का एल्गोरिथम क्या है?
गतिरोध से बचने के लिए बैंकर के एल्गोरिथ्म का उपयोग बैंकिंग प्रणाली में प्रमुख रूप से किया जाता है। यह आपको यह पहचानने में मदद करता है कि ऋण दिया जाएगा या नहीं।
इस एल्गोरिदम का उपयोग सभी संसाधनों के लिए उपलब्ध अधिकतम राशि के निर्धारण के लिए आवंटन का सुरक्षित रूप से परीक्षण करने के लिए किया जाता है। यह निर्धारित करने से पहले सभी संभावित गतिविधियों की भी जांच करता है कि आवंटन को जारी रखा जाना चाहिए या नहीं।
उदाहरण के लिए, एक विशिष्ट बैंक के खाताधारकों की एक्स संख्या है, और उनके खातों की कुल राशि का जी है।
जब बैंक एक कार ऋण की प्रक्रिया करता है, तो सॉफ्टवेयर सिस्टम कुल धन (जी + फिक्स्ड डिपॉजिट + मंथली इनकम स्कीम + गोल्ड, इत्यादि) से कार खरीदने के लिए दिए गए ऋण की राशि को घटा देता है।
यह भी जांचता है कि अंतर जी से अधिक है या नहीं। यह केवल कार ऋण की प्रक्रिया करता है जब बैंक के पास पर्याप्त धन होता है, भले ही सभी खाताधारक एक साथ जी को वापस ले लें।
इस ऑपरेटिंग सिस्टम ट्यूटोरियल में, आप सीखेंगे:
- बैंकर का एल्गोरिथम क्या है?
- बैंकर का एल्गोरिथम सूचनाएँ
- बैंकर के एल्गोरिथ्म का उदाहरण
- बैंकर के एल्गोरिथ्म के लक्षण
- बैंकर के एल्गोरिदम का नुकसान
बैंकर का एल्गोरिथम सूचनाएँ
बैंकर के एल्गोरिथ्म में प्रयुक्त एक महत्वपूर्ण अंकन यहाँ दिया गया है:
- X: सिस्टम की कुल प्रक्रियाओं की संख्या को दर्शाता है।
- Y: सिस्टम में मौजूद संसाधनों की कुल संख्या को दर्शाता है।
उपलब्ध
[I: Y] इंगित करें कि कौन सा संसाधन उपलब्ध है।
मैक्स
[l: X, l: Y]: टाइप j या प्रोसेस i के संसाधनों की अधिकतम संख्या की अभिव्यक्ति
आवंटन
[एल: एक्स, एल: वाई]। संकेत दें कि आपको किस प्रक्रिया के लिए j का संसाधन मिला है
जरुरत
व्यक्त करें कि भविष्य में कितने और संसाधन आवंटित किए जा सकते हैं
बैंकर के एल्गोरिथ्म का उदाहरण
मान लें कि हमारे पास निम्नलिखित संसाधन हैं:
- 5 पेन ड्राइव
- 2 प्रिंटर
- 4 स्कैनर्स
- 3 हार्ड डिस्क
यहां, हमने कुल संसाधनों का प्रतिनिधित्व करते हुए एक वेक्टर बनाया है: उपलब्ध = (5, 2, 4, 3)।
मान लें कि चार प्रक्रियाएं हैं। उपलब्ध संसाधन पहले से ही नीचे दी गई मैट्रिक्स तालिका के अनुसार आवंटित किए गए हैं।
प्रक्रिया का नाम | पेन ड्राइव | मुद्रक | चित्रान्वीक्षक | हार्ड डिस्क |
---|---|---|---|---|
पी | २ | ० | 1 | 1 |
क्यू | ० | 1 | ० | ० |
आर | 1 | ० | 1 | 1 |
रों | 1 | 1 | ० | 1 |
संपूर्ण | ४ | २ | २ | ३ |
यहाँ, आवंटित संसाधन इन स्तंभों के कुल हैं:
आवंटित = (4, 2, 2, 3)।
हम सभी प्रक्रियाओं के लिए आवश्यक प्रत्येक संसाधन की संख्या प्रदर्शित करने के लिए एक मैट्रिक्स भी बनाते हैं। इस मैट्रिक्स को Need = (3,0,2,2) कहा जाता है
प्रक्रिया का नाम | पेन ड्राइव | मुद्रक | चित्रान्वीक्षक | हार्ड डिस्क |
---|---|---|---|---|
पी | 1 | 1 | ० | ० |
क्यू | ० | 1 | 1 | २ |
आर | २ | 1 | ० | ० |
रों | ० | ० | 1 | ० |
उपलब्ध वेक्टर होगा:
उपलब्ध = उपलब्ध- आवंटित
= (5, 2, 4, 3) - (4, 2, 2, 3)
= (1, 0, 2, 0)
संसाधन अनुरोध एल्गोरिथम
संसाधन अनुरोध एल्गोरिथ्म आपको सिस्टम व्यवहार का प्रतिनिधित्व करने में सक्षम बनाता है जब कोई विशिष्ट प्रक्रिया संसाधन अनुरोध करती है।
इसे निम्न चरणों से समझें:
चरण 1) जब सभी संसाधनों का कुल अनुरोध उदाहरण प्रक्रिया से कम है, तो चरण 2 पर जाएं।
चरण 2) जब प्रत्येक प्रकार के उपलब्ध संसाधनों की तुलना में प्रत्येक और प्रत्येक प्रकार के संसाधन का अनुरोध किया गया उदाहरण कम है, तो इसे अगले चरण पर संसाधित किया जाएगा। अन्यथा, पर्याप्त संसाधनों की अनुपलब्धता के कारण प्रक्रिया की प्रतीक्षा करनी पड़ती है।
चरण 3) संसाधन को नीचे दिए गए Pseudocode में दिखाया गया है।
Available = Available - Request (y)Allocation(x) = Allocation(x) + Request(x)Need(x) = Need(x) - Request(x)
यह अंतिम चरण किया जाता है क्योंकि सिस्टम को यह मानने की आवश्यकता है कि संसाधनों को आवंटित किया गया है। ताकि आवंटन के बाद कम संसाधन उपलब्ध हों।
बैंकर के एल्गोरिथ्म के लक्षण
बैंकर के एल्गोरिथ्म की महत्वपूर्ण विशेषताएं इस प्रकार हैं:
- कई संसाधन रखें जो कम से कम एक ग्राहक की आवश्यकता को पूरा करते हैं
- जब भी किसी प्रक्रिया को उसके सभी संसाधन मिलते हैं, तो उसे प्रतिबंधित अवधि में वापस करने की आवश्यकता होती है।
- जब कोई प्रक्रिया किसी संसाधन का अनुरोध करती है, तो उसे प्रतीक्षा करने की आवश्यकता होती है
- प्रणाली में सीमित संख्या में संसाधन हैं
- अधिकतम संसाधन आवंटन के लिए अग्रिम सुविधा
बैंकर के एल्गोरिदम का नुकसान
यहां, बैंकर के एल्गोरिथ्म का उपयोग करने के विपक्ष / कमियां हैं
- प्रक्रिया करते समय प्रक्रिया को इसकी अधिकतम आवश्यकता को बदलने की अनुमति नहीं देता है
- यह सभी अनुरोधों को प्रतिबंधित समय में प्रदान करने की अनुमति देता है, लेकिन उसके लिए एक वर्ष एक निश्चित अवधि है।
- सभी प्रक्रियाओं को पहले से ही उनकी अधिकतम संसाधन जरूरतों को जानना और बताना होगा।
सारांश:
- गतिरोध से बचने के लिए बैंकर के एल्गोरिदम का उपयोग बैंकिंग प्रणाली में प्रमुख रूप से किया जाता है। यह आपको यह पहचानने में मदद करता है कि ऋण दिया जाएगा या नहीं।
- बैंकर के एल्गोरिदम में प्रयुक्त सूचनाएं 1) उपलब्ध 2) मैक्स 3) आवंटन 4) आवश्यकता है
- संसाधन अनुरोध एल्गोरिथ्म आपको सिस्टम व्यवहार का प्रतिनिधित्व करने में सक्षम बनाता है जब कोई विशिष्ट प्रक्रिया संसाधन अनुरोध करती है।
- बैंकर का एल्गोरिथ्म कई संसाधनों को रखता है जो कम से कम एक ग्राहक की आवश्यकता को पूरा करते हैं
- बैंकर के एल्गोरिथ्म का सबसे बड़ा दोष यह है कि यह प्रक्रिया करते समय प्रक्रिया को इसकी अधिकतम आवश्यकता को बदलने की अनुमति नहीं देता है।