Kas ir baņķiera algoritms?
Bankeru algoritms galvenokārt tiek izmantots banku sistēmā, lai izvairītos no strupceļa. Tas palīdz jums noteikt, vai aizdevums tiks piešķirts.
Šo algoritmu izmanto, lai droši simulētu piešķiršanu, lai noteiktu maksimālo pieejamo daudzumu visiem resursiem. Tā arī pārbauda visas iespējamās darbības, pirms izlemj, vai piešķīrums ir jāturpina.
Piemēram, ir X konkrētas bankas kontu īpašnieku skaits, un viņu kontu kopējā naudas summa ir G.
Kad banka apstrādā automašīnas aizdevumu, programmatūras sistēma no kopējās naudas (G + Fiksētā depozīta + Ikmēneša ienākumu shēma + Zelts utt.) Atskaita automašīnas iegādei piešķirtā aizdevuma summu.
Tas arī pārbauda, vai starpība ir lielāka vai nē. Tā noformē aizdevumu automašīnai tikai tad, ja bankai ir pietiekami daudz naudas, pat ja visi konta turētāji vienlaikus izņem naudu G.
Šajā operētājsistēmas apmācībā jūs uzzināsiet:
- Kas ir baņķiera algoritms?
- Baņķiera algoritma apzīmējumi
- Bankera algoritma piemērs
- Baņķiera algoritma raksturojums
- Banker algoritma trūkums
Baņķiera algoritma apzīmējumi
Šeit ir svarīgs apzīmējums, ko izmanto baņķiera algoritmā:
- X: norāda kopējo sistēmas procesu skaitu.
- Y: norāda sistēmā esošo resursu kopējo skaitu.
Pieejams
[I: Y] norāda pieejamo resursu.
Maks
[l: X, l: Y]: j veida vai i procesa maksimālā resursu skaita izteikšana
Sadalīšana
[l: X, l: Y]. Norādiet, kur esat saņēmis j veida resursu
Vajadzība
Izsakiet, cik daudz resursu nākotnē var piešķirt
Bankera algoritma piemērs
Pieņemsim, ka mums ir šādi resursi:
- 5 pildspalvu piedziņas
- 2 printeri
- 4 skeneri
- 3 cietie diski
Šeit mēs esam izveidojuši vektoru, kas atspoguļo kopējos resursus: Pieejams = (5, 2, 4, 3).
Pieņemsim, ka ir četri procesi. Pieejamie resursi jau ir piešķirti saskaņā ar zemāk esošo matricas tabulu.
Procesa nosaukums | Pildspalva diskus | Printeris | Skeneris | Cietais disks |
---|---|---|---|---|
P | 2 | 0 | 1 | 1 |
J | 0 | 1 | 0 | 0 |
R | 1 | 0 | 1 | 1 |
S | 1 | 1 | 0 | 1 |
Kopā | 4 | 2 | 2 | 3 |
Šeit piešķirtie resursi ir šo sleju kopsumma:
Piešķirts = (4, 2, 2, 3).
Mēs arī izveidojam matricu, lai parādītu katra resursa skaitu, kas nepieciešams visiem procesiem. Šo matricu sauc par Need = (3,0,2,2)
Procesa nosaukums | Pildspalva diskus | Printeris | Skeneris | Cietais disks |
---|---|---|---|---|
P | 1 | 1 | 0 | 0 |
J | 0 | 1 | 1 | 2 |
R | 2 | 1 | 0 | 0 |
S | 0 | 0 | 1 | 0 |
Pieejamais vektors būs:
Pieejams = pieejams - piešķirts
= (5, 2, 4, 3) - (4, 2, 2, 3)
= (1, 0, 2, 0)
Resursu pieprasījuma algoritms
Resursu pieprasījumu algoritms ļauj attēlot sistēmas darbību, kad konkrēts process pieprasa resursu.
Ļaujiet to saprast, veicot šādas darbības:
1. solis. Kad visu pieprasīto visu resursu kopa ir mazāka par procesu, pārejiet uz 2. darbību.
2. solis. Kad pieprasītais katra resursa veida gadījums ir mazāks nekā katra veida pieejamie resursi, tas tiks apstrādāts nākamajā darbībā. Pretējā gadījumā process ir jāgaida, jo nav pieejami pietiekami resursi.
3. solis. Resurss tiek piešķirts, kā parādīts zemāk dotajā pseidokodā.
Available = Available - Request (y)Allocation(x) = Allocation(x) + Request(x)Need(x) = Need(x) - Request(x)
Šis pēdējais solis tiek veikts, jo sistēmai jāpieņem, ka resursi ir piešķirti. Lai pēc piešķiršanas būtu pieejami mazāk resursu.
Baņķiera algoritma raksturojums
Šeit ir svarīgi baņķiera algoritma raksturlielumi:
- Saglabājiet daudz resursu, kas atbilst vismaz viena klienta prasībām
- Ikreiz, kad process iegūst visus resursus, tam tie jāatgriež ierobežotā laika posmā.
- Kad process pieprasa resursu, tas ir jāgaida
- Sistēmai ir ierobežots resursu skaits
- Avansa funkcija maksimālai resursu piešķiršanai
Banker algoritma trūkums
Šeit ir baņķiera algoritma izmantošanas mīnusi / trūkumi
- Neļauj procesam apstrādes laikā mainīt maksimālo vajadzību
- Tas ļauj visus pieprasījumus izpildīt ierobežotā laikā, bet viens gads tam ir noteikts periods.
- Visiem procesiem iepriekš jāzina un jāpaziņo to maksimālās resursu vajadzības.
Kopsavilkums:
- Bankeru algoritms galvenokārt tiek izmantots banku sistēmā, lai izvairītos no strupceļa. Tas palīdz jums noteikt, vai aizdevums tiks piešķirts.
- Banku algoritmos izmantotie apzīmējumi ir 1) pieejami 2) maks. 3) piešķiršana 4) nepieciešamība
- Resursu pieprasījumu algoritms ļauj attēlot sistēmas darbību, kad konkrēts process pieprasa resursu.
- Baņķiera algoritms saglabā daudz resursu, kas atbilst vismaz viena klienta prasībām
- Lielākais baņķiera algoritma trūkums ir tas, ka tas neļauj procesam apstrādes laikā mainīt maksimālo vajadzību.