Operacinė sistema yra pati svarbiausia programinė įranga, veikianti kompiuteryje. Jis yra atsakingas už kompiuterio atminties ir procesų valdymą, taip pat už aparatinės įrangos ekrano apsaugą nuo jį naudojančių programų. Kompiuterio operacinė sistema taip pat užtikrina teisingą išteklių paskirstymą vartotojams ir programoms, o ne vienodam paskirstymui tarp procesų. Sąžininga planavimo sistema leidžia vienam procesui naudoti procesorių, o kitas laukia eilėje. Dėl to kiekviena gija gauna pakankamai prieigą prie ribotų išteklių, užkertančių kelią dviem dažniausiai pasitaikančioms sąlygoms, dėl kurių procesas būtų atidėtas kitaip: aklavietė ir badas. Abi yra susijusios sąvokos, kai procesai neturi prieigos prie išteklių. Šiame straipsnyje išryškinami kai kurie pagrindiniai aspektai, lyginant abu skirtinguose frontuose.
Aklavietė yra sąlyga, kai gijų rinkinys yra blokuojamas, nes kiekvienas procesas, turintis išteklius, bando pasiekti kitus resursus, kuriuos laiko kitas procesas, galiausiai užkirsdamas kelią sąžiningam sistemos planavimui. Aklavietė susidaro, kai įvykdomos šios keturios sąlygos: Tarpusavio atskirtis reiškia, kad tik vienas procesas gali vienu metu pasiekti išteklius; Jokios išimties sąlygos nereiškia, kad išteklius gali išleisti savanoriškai tik tas procesas, kuriame yra išteklius; „Atidėti ir laukti“ reiškia, kad procesas, kuriame kaupiami ištekliai, gali reikalauti papildomų išteklių, kuriuos turi kiti procesai; Apskritasis laukimas reiškia, kad du ar daugiau procesų yra įstrigę žiedinėje grandinėje, laukiančiame kiekvieno proceso išleidžiant atitinkamus išteklius.
Badavimas yra būklė, atsirandanti, kai procesas nesibaigia laukimo laikotarpiui, nes žemo prioriteto procesas niekada negauna galimybės naudotis ištekliais dėl nuolatinio aukšto prioriteto procesų srauto, pasiekiančio tą patį resursą. Tai yra išteklių valdymo problema, nes procesui neleidžiama patekti į jo reikalingą išteklius, taigi procesas tampa neapibrėžtu laukimo laikotarpiu. Taip atsitinka todėl, kad reikalingi ištekliai niekada neskiriami procesui, dėl kurio procesas badauja dėl išteklių, taigi ir pavadinimo. Geriausias būdas išvengti bado yra naudoti senėjimo techniką, kuri palaipsniui didina ilgą laiką laukiančių procesų prioritetą, kad būtų užtikrinta teisinga planavimo sistema..
Ir aklavietė, ir badas yra susijusios sąvokos, kurios neleidžia sąžiningai planuoti sistemos, kur blokuojami procesai negali naudotis ištekliais. Aklavietė, kaip rodo pavadinimas, reiškia būseną, kai gijų ar procesų rinkinys yra blokuojamas, nes kiekvienas procesas laukia, kol bus įsigytas išteklius, kuriuos laiko kitas procesas, todėl susidaro aklavietė, kai programos nustoja veikti. Kita vertus, badą sukelia aklavietė, dėl kurios procesas užšąla, nes žemo prioriteto procesui neleidžiama naudotis ištekliais, kurie yra skirti aukšto prioriteto procesui..
Aklavietė reiškia konkrečią būklę, atsirandančią, kai gija ar procesas pereina į laukimo periodą, nes jos prašomi sistemos ištekliai yra laikomi kito proceso, kuris savo ruožtu laukia kito proceso, kad išleistų savo išteklius, taip sukurdamas aklavietę. Tai lemia netinkamas išteklių panaudojimas. Badavimas yra neapibrėžta atidėjimo sąlyga, kai žemo prioriteto procesui neleidžiama naudotis jo reikalaujamais ištekliais, nes ištekliai yra skiriami kitam aukšto prioriteto procesui. Tai yra išteklių valdymo problema, verčianti sistemą paskirstyti išteklius tik labai svarbiems procesams.
Aklavietė yra didžiausia badavimo forma, kurią sukelia šios keturios sąlygos vienu metu: Tarpusavio atskirtis, Be preferencijos, Sulaikyti ir palaukti bei Apskritas laukimas. Aklavietė atsiranda tik tose sistemose, kuriose visos keturios sąlygos galioja. Badavimas atsiranda dėl skirtingų sąlygų, pavyzdžiui, kai nėra pakankamai išteklių, kad būtų galima apeiti, ir procesų prioritetai pradeda mažėti arba kai procesai pradeda neduoti resursų kitiems procesams be kontrolės. Jei žemo prioriteto procesas reikalauja išteklius, rezervuotus aukščiausio prioriteto procesams, procesas bado amžinai. Badas atsiranda ir tada, kai ištekliai paskirstomi savavališkai, verčiant procesus laukti ilgesnį laiką.
Badavimo galima išvengti naudojant tinkamą planavimo algoritmą su prioritetine eiga, kuri iš tikrųjų taip pat naudoja senėjimo techniką - planavimo technika, kuri prideda senėjimo koeficientą prie kiekvieno prašymo prioriteto, tai reiškia, kad padidėja mažai laukiančių procesų, kurie laukė, prioritetų lygis. ilgam laikui. Suteikdami daugiau išteklių programoms, turėtumėte vengti nuolatinio išteklių perkrovimo. Kad sistema nepatektų į aklavietę, procesams turi būti uždrausta prieiga prie vieno ar daugiau išteklių, tuo pat metu laukiant kitų, ir vienu metu turėtų būti leidžiama prieiti prie išteklių tik vienam procesui..
Tiek aklavietė, tiek badas yra susijusios sąvokos daugiaprocesiniame operaciniame ar paskirstomajame sistemos, dėl kurių viena ar daugiau gijų ar procesų įstringa laukiant reikalingų išteklių. Aklavietė yra situacija, susidaranti, kai vienas ar daugiau procesų prašo prieigos prie to paties šaltinio, dėl kurio procesas užšąla, tuo tarpu badą sukelia aklavietė, kuri procesą nustumia į neapibrėžtą atidėjimo būseną, nes procesams neleidžiama naudotis ištekliais, kuriuos laiko aukšto prioriteto procesas ir reikia laukti amžinai.