Uzdevuma nostādne:
Izstrādāt programmu, kura konstatē – ir vai nav sistēmas stāvoklis drošs. Sākumā jāievada sekojošus datus:
• Procesu skaits sistēmā – n;
• Resursu vienību skaits sistēmā – t;
• Katra procesa maksimālā vajadzība pēc resursa – m(i).
Tālāk dialogā tiek ievadīti procesu pieprasījumi resursu iedalīšanai vai resursu atbrīvošanai. Programma konstatē vai var apmierināt pieprasījumu, izejot no tā, ka sistēmas stāvoklim jāpaliek drošam. Ja var, tad sistēma fiksē jauno stāvokli, ja nē – izdod attiecīgu paziņojumu un pieprasījumu neapmierina.
Deikstras piedāvātais Baņķiera algoritms ir populārākais algoritms, ko operētājsistēmās izmanto strupceļu novēršanai. Tiek pieņemts, ka n procesi izmanto viena veida fiksēta skaita t resursus. Katram procesam ir noteikts maksimālais resursu apjoms, kuru saņemot, tas garantē izpildīšanos. Procesa maksimāli nepieciešamais resursu skaits noteikti nav lielāks par kopējo pieejamo resursu skaitu (1. formula). Dotajā momentā procesam izdalītais resursu skaits l(i) nevar būt lielāks par maksimāli nepieciešamo resursu skaitu (2. formula). Procesa tekošā vajadzība pēc resursiem ir c(i), kur i – process (3. formula). Brīvo jeb vēl sadalāmo resursu skaitu a iegūst, no visiem resursiem atņemot izdalītos resursus (4. formula).
…