Uzdevuma nostādne
Izstrādāt programmu, kas realizē ‘’Baņķiera algoritmu’’ un konstatē sistēmas stāvokli – drošs vai nedrošs. Programmas izpildes gaitā no sākuma dialogā jāievada sekojoši dati:
• Procesu skaits, kas izpildās sistēmā vienlaicīgi – n
• Resursa vienību skaits, ko nodrošina sistēma – t
• Katra izpildāmā procesa maksimālā vajadzība pēc resursa – m(i), kur i – procesa numurs.
Programmā dialogā tiek ievadīti dati par katra procesa pieprasījumiem resursa iedalīšanai vai atbrīvošanai (resursi tiek iedalīti un atbrīvoti pa vienai vienībai) un programma konstatē var vai nē apmierināt pieprasījumus, izejot no tā, ka sistēmas stāvoklis jāpaliek drošs. Ja var, tad sistēma fiksē jauno stāvokli (katram procesam izdalītie resursi), ja nē – izdod paziņojumu „Nevar apmierināt pieprasījumus” un paliek iepriekšējais sistēmas stāvoklis (katram procesam izdalītie resursi nemaina savu vērtību). Programmas izpildes gaitā sistēmai obligāti vajag paiet variantā uzrādītus stāvokļus A un B, kuriem tabulās ir uzrādīts arī, cik resursa vienības jau ir piešķirtas katram procesam. Parādīt, kā nedrošs stāvoklis (A vai B?) var novest pie strupceļa un kā pēc droša stāvokļa (A vai B?) visi procesi var pabeigt savu darbu (ar to arī beidzas programmas izpilde).
…