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

