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