बैंकर्स एल्गोरिथम Operaटिंग सिस्टम [उदाहरण]

⚡ स्मार्ट सारांश

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

  • 🏦 उद्देश्य: यह सुनिश्चित करके गतिरोध से बचा जाता है कि संसाधन आवंटन से सिस्टम सुरक्षित रहे।
  • 🔢 चार मैट्रिक्स: उपलब्ध, अधिकतम, आवंटन और आवश्यकता track संसाधन उपयोग।
  • 🧮 सुरक्षित राज्य: किसी अनुरोध को तभी स्वीकार किया जाता है जब सभी प्रक्रियाएं पूरी हो सकें।
  • ???? आवश्यकता: प्रत्येक प्रक्रिया को अपनी अधिकतम संसाधन आवश्यकताओं की पूर्व-घोषणा करनी होगी।
  • लाभ: यह सुनिश्चित करता है कि संसाधन किसी भी समय कम से कम एक ग्राहक की जरूरतों को पूरा करें।
  • ⚠️ दोष यह है: प्रक्रिया के चलने के दौरान उसकी अधिकतम आवश्यकता में बदलाव नहीं किया जा सकता है।

बैंकर का एल्गोरिदम 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)

यह अंतिम चरण इसलिए किया जाता है क्योंकि सिस्टम को यह मान लेना होता है कि संसाधनों का आवंटन हो चुका है, ताकि आवंटन के बाद कम संसाधन उपलब्ध हों।

बैंकर्स एल्गोरिथम की विशेषताएं

बैंकर के एल्गोरिदम की महत्वपूर्ण विशेषताएं इस प्रकार हैं:

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

बैंकर एल्गोरिथ्म का नुकसान

बैंकर के एल्गोरिदम का उपयोग करने के नुकसान/कमियां इस प्रकार हैं:

  • यह प्रक्रिया को प्रसंस्करण के दौरान अपनी अधिकतम आवश्यकता को बदलने की अनुमति नहीं देता है।
  • यह सभी अनुरोधों को एक सीमित समय सीमा के भीतर स्वीकृत करने की अनुमति देता है, लेकिन इसके लिए एक वर्ष की अवधि निर्धारित है।
  • सभी प्रक्रियाओं को अपनी अधिकतम संसाधन आवश्यकताओं को पहले से जानना और बताना चाहिए।

अक्सर पूछे जाने वाले प्रश्न

एक सुरक्षित स्थिति वह होती है जहाँ कम से कम एक निष्पादन क्रम प्रत्येक प्रक्रिया को उसके अधिकतम संसाधन प्राप्त करने और समाप्त होने देता है। यदि ऐसा कोई क्रम मौजूद नहीं है, तो स्थिति असुरक्षित है और गतिरोध (डेडलॉक) का कारण बन सकती है।

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

इसका नाम बैंक द्वारा ऋण प्रबंधन के तरीके के आधार पर रखा गया है। बैंक तभी ऋण देता है जब वह अपने सभी ग्राहकों की आवश्यकताओं को पूरा कर सके। इसी प्रकार, एल्गोरिदम तभी संसाधन उपलब्ध कराता है जब सभी प्रक्रियाएं सुरक्षित रूप से पूरी हो सकें।

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

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

इस पोस्ट को संक्षेप में इस प्रकार लिखें: