Ο αλγόριθμος του τραπεζίτη στο OperaΣύστημα ting [Παράδειγμα]
Τι είναι ο Αλγόριθμος του Banker;
Τραπεζίτης Αλγόριθμος χρησιμοποιείται κυρίως στο τραπεζικό σύστημα για την αποφυγή αδιεξόδου. Σας βοηθά να προσδιορίσετε αν θα δοθεί δάνειο ή όχι.
Αυτός ο αλγόριθμος χρησιμοποιείται για τον έλεγχο της ασφαλούς προσομοίωσης της κατανομής για τον προσδιορισμό του μέγιστου διαθέσιμου ποσού για όλους τους πόρους. Ελέγχει επίσης για όλες τις πιθανές δραστηριότητες πριν αποφασίσει εάν η κατανομή πρέπει να συνεχιστεί ή όχι.
Για παράδειγμα, υπάρχει Χ αριθμός κατόχων λογαριασμών μιας συγκεκριμένης τράπεζας και το συνολικό χρηματικό ποσό των λογαριασμών τους είναι G.
Όταν η τράπεζα επεξεργάζεται ένα δάνειο αυτοκινήτου, το σύστημα λογισμικού αφαιρεί το ποσό του δανείου που χορηγείται για την αγορά αυτοκινήτου από τα συνολικά χρήματα (G+ Πάγια κατάθεση + Σχέδιο Μηνιαίου Εισοδήματος + Χρυσό, κ.λπ.) που έχει η τράπεζα.
Ελέγχει επίσης ότι η διαφορά είναι μεγαλύτερη ή όχι από το G. Επεξεργάζεται το δάνειο αυτοκινήτου μόνο όταν η τράπεζα έχει επαρκή χρήματα, ακόμη και αν όλοι οι κάτοχοι λογαριασμού αποσύρουν τα χρήματα G ταυτόχρονα.
Σημειώσεις αλγορίθμου τραπεζίτη
Ακολουθεί μια σημαντική σημείωση που χρησιμοποιείται στον αλγόριθμο του Banker:
- X: Υποδεικνύει τον συνολικό αριθμό διεργασιών του συστήματος.
- Y: Υποδεικνύει τον συνολικό αριθμό των πόρων που υπάρχουν στο σύστημα.
Διαθέσιμος
[I: Y] υποδεικνύουν ποιος πόρος είναι διαθέσιμος.
Μέγ.
[l:X,l: Y]: Έκφραση του μέγιστου αριθμού πόρων τύπου j ή διεργασίας i
Κατανομή
[l:X,l:Y]. Υποδείξτε σε ποια διαδικασία λάβατε έναν πόρο τύπου j
Ανάγκη
Εκφράστε πόσοι περισσότεροι πόροι μπορούν να διατεθούν στο μέλλον
Παράδειγμα αλγόριθμου Banker
Ας υποθέσουμε ότι έχουμε τους ακόλουθους πόρους:
- 5 μονάδες στυλό
- 2 Εκτυπωτές
- 4 Σαρωτές
- 3 σκληροί δίσκοι
Εδώ, δημιουργήσαμε ένα διάνυσμα που αντιπροσωπεύει τους συνολικούς πόρους: Διαθέσιμο = (5, 2, 4, 3).
Ας υποθέσουμε ότι υπάρχουν τέσσερις διαδικασίες. Οι διαθέσιμοι πόροι έχουν ήδη κατανεμηθεί σύμφωνα με τον παρακάτω πίνακα μήτρας.
Όνομα διαδικασία | Δίσκοι στυλό | Εκτυπωτής | Scanner | σκληρός δίσκος |
---|---|---|---|---|
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).
Δημιουργούμε επίσης ένα Matrix για να εμφανίσουμε τον αριθμό κάθε πόρου που απαιτείται για όλες τις διεργασίες. Αυτός ο πίνακας ονομάζεται Ανάγκη=(3,0,2,2)
Όνομα διαδικασία | Δίσκοι στυλό | Εκτυπωτής | Scanner | σκληρός δίσκος |
---|---|---|---|---|
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)
Αυτό το τελευταίο βήμα εκτελείται επειδή το σύστημα πρέπει να υποθέσει ότι έχουν κατανεμηθεί πόροι. Έτσι, θα πρέπει να υπάρχουν λιγότεροι διαθέσιμοι πόροι μετά την κατανομή.
Χαρακτηριστικά του Αλγορίθμου του Banker
Ακολουθούν σημαντικά χαρακτηριστικά του αλγορίθμου του τραπεζίτη:
- Διατηρήστε πολλούς πόρους που ικανοποιούν την απαίτηση τουλάχιστον ενός πελάτη
- Κάθε φορά που μια διεργασία αποκτά όλους τους πόρους της, πρέπει να τους επιστρέψει σε περιορισμένη περίοδο.
- Όταν μια διεργασία ζητά έναν πόρο, πρέπει να περιμένει
- Το σύστημα έχει περιορισμένο αριθμό πόρων
- Προηγμένη δυνατότητα για μέγιστη κατανομή πόρων
Μειονέκτημα του αλγορίθμου του Banker
Εδώ, είναι τα μειονεκτήματα/μειονεκτήματα της χρήσης του αλγόριθμου του τραπεζίτη
- Δεν επιτρέπει στη διαδικασία να αλλάξει τη Μέγιστη ανάγκη της κατά την επεξεργασία
- Επιτρέπει την αποδοχή όλων των αιτημάτων σε περιορισμένο χρονικό διάστημα, αλλά ένα έτος είναι μια καθορισμένη περίοδος για αυτό.
- Όλες οι διαδικασίες πρέπει να γνωρίζουν και να δηλώνουν εκ των προτέρων τις μέγιστες ανάγκες τους σε πόρους.
Σύνοψη
- Ο αλγόριθμος του τραπεζίτη χρησιμοποιείται κυρίως στο τραπεζικό σύστημα για αποφυγή αδιέξοδο. Σας βοηθά να προσδιορίσετε αν θα δοθεί δάνειο ή όχι.
- Οι σημειώσεις που χρησιμοποιούνται στους αλγόριθμους του τραπεζίτη είναι 1) Διαθέσιμο 2) Μέγιστο 3) Κατανομή 4) Ανάγκη
- Ο αλγόριθμος αιτήματος πόρων σάς δίνει τη δυνατότητα να αναπαραστήσετε τη συμπεριφορά του συστήματος όταν μια συγκεκριμένη διεργασία κάνει ένα αίτημα πόρων.
- Ο αλγόριθμος του Banker διατηρεί πολλούς πόρους που ικανοποιούν την απαίτηση τουλάχιστον ενός πελάτη
- Το μεγαλύτερο μειονέκτημα του αλγορίθμου του τραπεζίτη είναι ότι δεν επιτρέπει στη διαδικασία να αλλάξει τη Μέγιστη ανάγκη της κατά την επεξεργασία.