बैंकर्स एल्गोरिथम Operaटिंग सिस्टम [उदाहरण]
⚡ स्मार्ट सारांश
बैंकर एल्गोरिदम एक डेडलॉक से बचाव की विधि है जो यह जांच करती है कि संसाधनों का आवंटन सिस्टम को सुरक्षित स्थिति में रखता है या नहीं। बैंकिंग क्षेत्र के नाम पर रखा गया यह एल्गोरिदम किसी अनुरोध को तभी स्वीकार करता है जब प्रत्येक प्रक्रिया को संतुष्ट करने के लिए पर्याप्त संसाधन शेष हों।

बैंकर्स एल्गोरिथम क्या है?
बैंकर का एल्गोरिदम इसका उपयोग मुख्य रूप से बैंकिंग प्रणाली में बचने के लिए किया जाता है गतिरोधइससे आपको यह पता लगाने में मदद मिलती है कि ऋण दिया जाएगा या नहीं।
इस एल्गोरिथ्म का उपयोग सभी संसाधनों के लिए उपलब्ध अधिकतम राशि निर्धारित करने के लिए आवंटन को सुरक्षित रूप से अनुकरण करने के लिए किया जाता है। यह यह निर्धारित करने से पहले सभी संभावित गतिविधियों की भी जांच करता है कि आवंटन जारी रखा जाना चाहिए या नहीं।
उदाहरण के लिए, किसी विशिष्ट बैंक में X खाताधारक हैं, और उनके खातों में कुल धनराशि G है।
जब बैंक कार लोन प्रोसेस करता है, तो सॉफ्टवेयर सिस्टम...tracयह बैंक के पास मौजूद कुल धनराशि (जी + सावधि जमा + मासिक आय योजना + सोना, आदि) में से कार खरीदने के लिए स्वीकृत ऋण की राशि है।
यह कार ऋण तभी स्वीकृत करता है जब शेष राशि G से अधिक हो, इसलिए सभी खाताधारक किसी भी समय G राशि निकाल सकते हैं।
बैंकर्स एल्गोरिथम नोटेशन
बैंकर एल्गोरिदम में प्रयुक्त कुछ महत्वपूर्ण संकेत इस प्रकार हैं:
- X: सिस्टम में प्रक्रियाओं की कुल संख्या को दर्शाता है।
- Y: सिस्टम में मौजूद संसाधनों की कुल संख्या को दर्शाता है।
उपलब्ध
[1:Y] यह दर्शाता है कि प्रत्येक संसाधन प्रकार के कितने उदाहरण उपलब्ध हैं।
मैक्स
[1:X, 1:Y]: प्रक्रिया i द्वारा अनुरोध किए जा सकने वाले प्रकार j के संसाधनों की अधिकतम संख्या को व्यक्त करता है।
आवंटन
[1:X, 1:Y]: यह दर्शाता है कि प्रक्रिया i को वर्तमान में j प्रकार के कौन से संसाधन आवंटित किए गए हैं।
आवश्यकता
यह दर्शाता है कि प्रक्रिया i को अपना कार्य पूरा करने के लिए प्रत्येक प्रकार के कितने और संसाधनों की आवश्यकता है।
बैंकर एल्गोरिथ्म का उदाहरण
मान लें कि हमारे पास निम्नलिखित संसाधन हैं:
- 5 पेन ड्राइव
- 2 प्रिंटर
- 4 स्कैनर
- 3 हार्ड डिस्क
यहां, हमने कुल संसाधनों का प्रतिनिधित्व करने वाला एक वेक्टर बनाया है: उपलब्ध = (5, 2, 4, 3)।
मान लीजिए कि चार प्रक्रियाएँ हैं। उपलब्ध संसाधन नीचे दी गई मैट्रिक्स तालिका के अनुसार पहले से ही आवंटित हैं।
| प्रक्रिया का नाम | पेन ड्राइव | मुद्रक | स्कैनर | हार्ड डिस्क |
|---|---|---|---|---|
| P | 2 | 0 | 1 | 1 |
| Q | 0 | 1 | 0 | 0 |
| R | 1 | 0 | 1 | 1 |
| S | 1 | 1 | 0 | 1 |
| कुल | 4 | 2 | 2 | 3 |
यहां आवंटित संसाधन इन स्तंभों का कुल योग है:
आवंटित = (4, 2, 2, 3).
हम सभी प्रक्रियाओं के लिए आवश्यक प्रत्येक संसाधन की संख्या प्रदर्शित करने के लिए एक मैट्रिक्स भी बनाते हैं। इस मैट्रिक्स को कहा जाता है आवश्यकता = (3, 0, 2, 2).
| प्रक्रिया का नाम | पेन ड्राइव | मुद्रक | स्कैनर | हार्ड डिस्क |
|---|---|---|---|---|
| P | 1 | 1 | 0 | 0 |
| Q | 0 | 1 | 1 | 2 |
| R | 2 | 1 | 0 | 0 |
| S | 0 | 0 | 1 | 0 |
उपलब्ध वेक्टर होगा:
उपलब्ध = उपलब्ध – आवंटित
= (5, 2, 4, 3) – (4, 2, 2, 3)
= (1, 0, 2, 0)
संसाधन अनुरोध एल्गोरिथ्म
संसाधन अनुरोध एल्गोरिदम आपको यह दर्शाने में सक्षम बनाता है कि जब कोई विशिष्ट प्रक्रिया संसाधन अनुरोध करती है तो सिस्टम का व्यवहार कैसा होता है।
आइए इसे निम्नलिखित चरणों के माध्यम से समझते हैं:
चरण 1) जब सभी संसाधनों के लिए अनुरोधित इंस्टेंस की कुल संख्या प्रक्रिया से कम हो, तो चरण 2 पर जाएं।
चरण 2) जब प्रत्येक संसाधन प्रकार के लिए अनुरोधित इंस्टेंस की संख्या, उस प्रकार के उपलब्ध संसाधनों की तुलना में कम होती है, तो प्रक्रिया अगले चरण में आगे बढ़ जाती है। अन्यथा, पर्याप्त संसाधनों की अनुपलब्धता के कारण प्रक्रिया को प्रतीक्षा करनी पड़ती है।
चरण 3) संसाधन का आवंटन नीचे दिए गए स्यूडोकोड में दर्शाए अनुसार किया जाता है।
Available = Available – Request (y) Allocation(x) = Allocation(x) + Request(x) Need(x) = Need(x) - Request(x)
यह अंतिम चरण इसलिए किया जाता है क्योंकि सिस्टम को यह मान लेना होता है कि संसाधनों का आवंटन हो चुका है, ताकि आवंटन के बाद कम संसाधन उपलब्ध हों।
बैंकर्स एल्गोरिथम की विशेषताएं
बैंकर के एल्गोरिदम की महत्वपूर्ण विशेषताएं इस प्रकार हैं:
- इसमें कई ऐसे संसाधन मौजूद हैं जो कम से कम एक ग्राहक की आवश्यकता को पूरा करते हैं।
- जब भी किसी प्रक्रिया को उसके सभी संसाधन मिल जाते हैं, तो उसे उन्हें एक सीमित अवधि में वापस करना होता है।
- जब कोई प्रक्रिया किसी संसाधन का अनुरोध करती है, तो उसे प्रतीक्षा करनी पड़ सकती है।
- इस प्रणाली में संसाधनों की संख्या सीमित है।
- यह संसाधनों के अधिकतम आवंटन के लिए एक उन्नत सुविधा प्रदान करता है।
बैंकर एल्गोरिथ्म का नुकसान
बैंकर के एल्गोरिदम का उपयोग करने के नुकसान/कमियां इस प्रकार हैं:
- यह प्रक्रिया को प्रसंस्करण के दौरान अपनी अधिकतम आवश्यकता को बदलने की अनुमति नहीं देता है।
- यह सभी अनुरोधों को एक सीमित समय सीमा के भीतर स्वीकृत करने की अनुमति देता है, लेकिन इसके लिए एक वर्ष की अवधि निर्धारित है।
- सभी प्रक्रियाओं को अपनी अधिकतम संसाधन आवश्यकताओं को पहले से जानना और बताना चाहिए।
