हेल्लो दोस्तों! आज हम इस पोस्ट में Banker’s Algorithm in Hindi (बैंकर अल्गोरिथ्म क्या है?) के बारें में पढेंगे और इसके example को भी देखेंगे. इसे आप पूरा ध्यान से पढ़िए, यह आपको आसानी से समझ में आ जायेगा. तो चलिए शुरू करते हैं:-
Banker’s algorithm in Hindi
Banker’s algorithm को Edger Dijkstra ने विकसित किया था. इसको कभी कभी detection algorithm भी कहते है.
Banker’s algorithm एक resource allocation तथा deadlock avoidance अल्गोरिथम है.
बैंकर अल्गोरिथ्म का ज्यादतर प्रयोग banking system में deadlock को avoid करने के लिए किया जाता है.
इसका नाम banker’s algorithm इसलिए पड़ा क्योंकि इसका प्रयोग बैंकिंग सिस्टम में किया जाता है. यह हमें यह बताता है कि किसी व्यक्ति को loan दिया जा सकता है या नहीं.
इसमें पहले से निर्धारित अधिकतम संभावित resources के allocation की safety को टेस्ट किया जाता है. तथा इसके बाद यह resource allocation state को बनाता है, जिससे वह यह निर्णय लेता है कि allocation किया जा सकता है या नही.
resource allocation state जो है वह resources की उपलब्ध संख्या तथा allocated resources और processes की जरुरत के आधार पर निर्धारित होता है.
जब process किसी उपलब्ध resource के लिए request करता है तब सिस्टम निर्णय लेता है इस resources के allocation से सिस्टम safe state में रहेगा या नहीं.
Advantage of Banker’s Algorithm in Hindi
इसके लाभ निम्नलिखित हैं:-
- यह mutual-exclusion, hold-and-wait, और no preemption conditions को allow करता है.
- यह बहुत सारें resources को contain किये रहता है जिससे सभी process की जरूरत पूरी होती है.
- इस algorithm के पास max resource attribute होता है जो यह प्रस्तुत करता है कि एक process अधिकतम कितने resources को hold कर सकती है.
Disadvantage – इसकी हानियाँ
- यह केवल fix संख्या के process और resource के साथ काम करता है।
- इसमें resource को allocate किये जाने वाली time limit 1 साल है.
Banker’s Algorithm Example in Hindi
banker’s algorithm उदाहरण:- आपके पास exam में इस प्रकार का question आता है-
Question – सिस्टम में 5 processes (P0, P1, P2, P3, P4) है.
1:- इसकी need matrix क्या है?
2:- अगर यह safe state में है तो इसकी safety sequence क्या है?
इसका answer –
need matrix का फार्मूला है:-
need matrix = max – allocated
NEED MATRIX
A | B | C |
---|---|---|
7-0 | 5-1 | 3-0 |
3-2 | 2-0 | 2-0 |
9-3 | 0-0 | 2-2 |
2-2 | 2-1 | 2-1 |
4-0 | 3-0 | 3-2 |
NEED MATRIX
A | B | C |
---|---|---|
7 | 4 | 3 |
1 | 2 | 2 |
6 | 0 | 0 |
0 | 1 | 1 |
4 | 3 | 1 |
safety algorithm:-
इसका सूत्र है.
If
need <=available
then
execute process
new available = available + allocation
elese
do not execute go ahead
यदि need जो है वह available से छोटी या बराबर है तो प्रोसेस execute होगा और नया available बनेगा. नहीं तो आगे की प्रोसेस को देखेंगे.
पद 1:-
प्रोसेस P0 के लिए
need = (7,4,3)
if need <= available
if (7,4,3) <= (3,3,2)
यह execute नहीं होगा.
पद 2:-
प्रोसेस P1 के लिए
need = (1,2,2)
if need <= available
if (1,2,2,) <= (3,2,2)
P1 execute होगा.
new available = available + allocation
= (3,3,2) + (2,0,0)
= (5,3,2)
पद 3:-
प्रोसेस P2 के लिए
need = (6,0,0)
if (6,0,0) <= (5,3,2)
P2 execute नहीं होगा.
पद 4:-
प्रोसेस P3 के लिए
need = (0,1,1)
if need <= available
(0,1,1) <= (5,3,2)
P3 को execute करेंगे.
new available = available + allocation
= (5,3,2) + (2,1,1)
= (7,4,3)
पद 5:-
प्रोसेस P4 के लिए
need = (4,3,1)
if need <= available
(4,3,1) <= (7, 4, 3)
P4 को execute करेंगे.
new available = available + allocation
= (7,4,3) + (0,0,2)
= (7,4,5)
पद 6:-
P0 पहले execute नहीं हुआ था तो उसे देखते है-
P0 के लिए
need = (7,4,3)
if (7,4,3) <= (7,4,5)
P0 को execute करेंगे.
new available = available + allocation
= (7,4,5) + (0,1,0)
= (7,5,5)
पद 7:-
P2 भी execute नहीं हुआ था उसे देखते है.
प्रोसेस P2 के लिए
need = (6,0,0)
if need <= available
(6,0,0) <= (7,5,5)
P2 execute होगा.
new available = available + allocation
= (7,5,5) + (3,0,2)
= (7,5,5) + (3,0,2)
= (10,5,7)
तो हमने अब सभी प्रोसेस को execute कर लिया तो अब हमारा safe sequence होगा-
safe sequence:- (P1, P3, P4, P0, P2)
इसे भी पढ़ें:- डेडलॉक क्या है?
references:- https://www.guru99.com/bankers-algorithm-in-operating-system.html
निवेदन:- अगर आपको banker’s algorithm की यह पोस्ट अच्छी लगी हों तो कृपया कमेंट में बताइए तथा इसे अपने दोस्तों के साथ share करें. जिससे कि उनकी भी help हो पाए. अगर आपका Banker’s algorithm in Hindi से सम्बन्धित कोई question हो तो उसे भी आप पूछ सकते हैं.
Sir plz mera answer bi dijiye
aapka question kya hai dubara puchiye
Need matrix=max-available this is wrong,
The Correct formula of need matrix=max-allocation
to wahi to likha hua h
matrix = max – allocated
yes boss
this is nyc information thanks for sharing your good knowledge
Sur ji last m p2 ko excute krne k liye 755 kese likha
बहुत ही बढ़िया सर जी मेरे को पूरा समझ आ गया
banker sictema kya hai?
yes, good article and I understood. Thank you for sharing your knowledge.