Ummiku, näljahäda, erinevuste, ennetamise ja ületamise määratlus
Ummiku, näljahäda, erinevuse, ennetamise, ületamise ja põhjuse määratlus: seisund, kus kaks või enam protsessi ootavad üksteist praegu kasutusel olevate ressursside vabastamiseks.
Loe ka artikleid, mis võivad olla seotud: Infosüsteemide mõistmine
DEADLOCKi mõiste
Ummik on tingimus, mille korral kaks või enam protsessi ootavad üksteist praegu kasutusel olevate ressursside vabastamiseks. Kuna mitmed protsessid ootavad üksteist, pole nende protsesside töös edusamme. Ummik reaalses mõttes on ummikseis. Operatsioonisüsteemis viidatud ummikseis on protsessi ummikseis. Ummik on probleem, mis tekib tavaliselt siis, kui paljudel protsessidel on ühine ressurss, mida saab korraga muuta ainult üks protsess. Niisiis on ummikseis seisund, kus protsess enam ei tööta või protsesside vahel pole enam sidet.
Näide ummikust:
- Protsess A kasutab CD-ROM-i.
- Protsess B kasutab skannerit.
- Protsess A nõuab skannerit (ilma CD-ROM-i eemaldamata) → ootab.
- Protsess B nõuab CD-ROM-i (ilma skanneri eemaldamiseta) → ootab.
- Ootan... ootan... DEADLOCK.
Ummiku süsteemi mudel
Ummiku tingimuste modelleerimiseks kujutage ette süsteemi, millel on:
- Protsesside kogum, P = {P1, P2,…, Pn}
- Erinevate ressursitüüpide komplekt, R = {R1, R2,…, Rm}
- Ressursil Ri on n identset osa (eksemplari) ja kumbagi neist kasutatakse.
Tavalises töömudelis kasutab protsess ressursse järgmises järjekorras:
- saada päring
Kui taotlust ei saa kohe rahuldada (nt kuna ressurssi kasutab teine protsess), peab protsess ootama, kuni soovitud ressurss on saadaval.
- Ressursside kasutamine (kasutamine)
Protsessid võivad kasutada ressursse, näiteks printereid printimiseks, kettaseadmeid sisend- ja väljundtoimingute tegemiseks jne.
- Ressursside vabastamine (uuesti)
Kui protsess on ressursi kasutamise lõpetanud, tuleb see vabastada, et seda saaks kasutada mõni teine protsess.
Ressursside ummikseis
Ummikud võivad tekkida siis, kui protsess pääseb objektile valesti juurde. Neid objekte nimetatakse ressurssideks. Ressursse on kahte tüüpi:
Ennetatav
Ressurss ütles ennetatav kui ressurssi saab võtta (vabastada) protsessist, mis seda kasutab, protsessile mingit mõju avaldamata. Seda ressurssi ei kulu ükski protsess. Kuid pärast protsessi lõppu tagastatakse need ressursid teiste protsesside jaoks, mis varem seda ressurssi ei saanud.
Näiteks protsessor, I / K kanal, ketas, semafor. Näide seda tüüpi ressursside rollist esinemises Ummik on näiteks protsess, kus kasutatakse kettaid A ja B, see juhtub ummikseis kui igal protsessil on juba üks ketas ja see nõuab teist ketast. Seda probleemi ei tunne mitte ainult programmeerijad, vaid keegi, kes kujundab opsüsteemi. Üldiselt kasutatakse meetodit, arvutades kõigepealt ressursid, mida kasutavad neid ressursse kasutavad protsessid. Teine näide, mis põhjustab ummikseis allikatest, mida saab korduvalt kasutada, on seotud põhimälu kasutavate protsesside arvuga. Näite võib näha järgmisest koodist:
Pärast seda, kui protsessid P ja Q on päringufunktsiooni esmakordselt täitnud, on partiis saadaolevaid ressursse 50 (200-70-80). Nii et kui P käivitab taotleva funktsiooni uuesti nii palju kui 60, siis ei leia P ressurssi partiist 60, seega P ootab, kuni soovitud ressurss on täidetud. Samuti ootab Q-ga, kuni tema taotlus täidetakse, lõpuks juhtub ummikseis. Selle lahenduseks on virtuaalse mälu kasutamine.
Ei saa ennustada
Seda tüüpi ressursside korral ei saa ressurssi seda kandvast protsessist hankida, kuna see põhjustab arvutuslikke tõrkeid. Printerid on üks näide. Kui protsess kasutab millegi printimiseks printerit, ei saa seda printerit teisest protsessist midagi printida. Seda tüüpi ressursid võivad tavaliselt esineda tupikud. Näited on järgmised:
Kahest funktsioonist on need, mis toimivad ressursside vastuvõtmiseks ja andmiseks, kuid on olukordi, kus protsess ei saa ressursse loodud nii, et tekib plokk, kuna see juhtub ummikseis. Muidugi on see väga haruldane, arvestades, et tootmisel ja tarbimisel pole piire, kuid on selline olukord, mille tulemuseks on ummikseis. Selle tulemuseks on ummikseis Seda liiki on raske avastada. peale selle ummikseis seda toodab mõni väga haruldane kombinatsioon.
Ummiku põhjus
Pärast mõningate ülaltoodud illustratsioonide nägemist võime nüüd hakata ette kujutama, mis see on ummikseis. Tegelikult ummikseis see juhtub, kui tingimused ummikseis on täidetud. Põhjuseid on 4 ummikseis on järgmine:
- a. Vastastikune välistamine
Ressurssi saab kasutada ainult üks protsess ja teine ressurssi kasutada sooviv protsess peab ootama, kuni ressurss vabastatakse või ükski protsess ressurssi ei kasuta seda.
- b. Hoidke ja oodake
Ressurssi kasutav protsess võib ressurssi uuesti taotleda, see tähendab, et see ootab, kuni taotletud ressurss seda ei tee mida muud protsessid kasutavad, võib see põhjustada ressursside nälga, sest protsess ei pruugi õigel ajal ressursse saada mis on vana.
- c. Eelistust pole
Protsessis olemasolevaid ressursse ei tohiks teised protsessid enesestmõistetavaks pidada. Nende ressursside saamiseks tuleb need kõigepealt vabastada protsessiga, mis neid hoiab, peale selle, et kogu protsess ootab ja lubab lubada ainult protsesse, millel on ressursse kõndima.
- d. Ringkiri Oota
Sellised tingimused nagu ahelad, st protsess nõuab ressurssi, mis on järgmise protsessi käes.
Ummiku käsitlemine ja probleemid
Ummiku käitlemine
Käsitsemiseks on mitu võimalust ummikseis, mida üldiselt on sellega tegelemiseks 4 viisi, nimelt:
- Eirake probleemi.
- Tuvastage ja parandage.
- Vältimine.
- Ärahoidmine.
Ummiku probleemide ignoreerimine
Tagamaks, et süsteem ei siseneks ummikseis, süsteem saab kasutada ennetust ummikseis või vältimine ummikseis. Vältimine ummikseis nõuab teavet selle kohta, milliseid ressursse protsess nõuab ja kui kaua seda kasutatakse. Selle teabe abil saab otsustada, kas protsess peaks ootama või mitte. See on tingitud ressursi olemasolust, olenemata sellest, kas seda kasutab mõni muu protsess või mitte.
Seda meetodit tuntakse paremini kui jaanalinnu algoritmi. Selles algoritmis on öeldud, et tegeleda Ummik on teeselda, et midagi pole valesti. Tundub, et see teeb midagi saatuslikku, kuid Unixi operatsioonisüsteem tuleb sellega toime Ummik sel viisil, mitte tuvastamata Ummik ja laseb sellel programmi automaatselt sulgeda, nii et nagu poleks midagi juhtunud. Nii et kui see juhtub Ummik, siis on tabel täis, nii et protsess, mis käivitab protsessi operaatori kaudu, peab ootama teatud aja ja proovima uuesti.
Loe ka artikleid, mis võivad olla seotud: Personalijuhtimine: määratlus, funktsioonid, eesmärgid, elemendid, lähenemine
Tuvastage ja vältige
Tuvastage ja parandage
Trikk on avastada, kui see juhtub Ummik Protsessi käigus tuvastatakse, milline süsteem on sellega seotud. Olles teadnud, millised süsteemid on seotud, hoitakse protsessi süsteemi parandamiseks ja uuesti töötamiseks. Kui süsteem ei taga ummikseis ilmneb ja seda ei toeta ka tuvastamine ummikseis ja ennetustöö, siis jõuame seisundini ummikseis mis võib mõjutada süsteemi jõudlust, kuna protsess ei saa ressursse kasutada, nii et ka teised protsessid on häiritud. Lõpuks süsteem seiskub ja tuleb taaskäivitada.
Asjad, mis juhtuvad kohaloleku tuvastamisel Ummik on:
- Ressursitaotlusi rahuldatakse nii kaua kui võimalik.
- Operatsioonisüsteem kontrollib tingimusi ringikujuline ootamine perioodiliselt.
- Olemasolemise kontroll Ummik Seda saab teha alati, kui on mõni ressurss, mida protsess kasutada soovib.
- Konkreetse algoritmiga kontrollimine.
Ummiku vältimine
Selle meetodi lähenemisviis on lubada ainult ressursitaotlusi, mis tõenäoliselt ummikuid ei põhjusta. Selle meetodi abil uuritakse protsessile juurdepääsu andmise mõju. Kui juurdepääsu võimaldamine pole ummikusse viimise jaoks võimalik, antakse taotleva protsessi jaoks ressursse. Kui see pole turvaline, peatatakse taotlusprotsess seni, kuni taotlust on ohutu täita. See tingimus ilmneb pärast seda, kui on vabastatud varem teises protsessis olnud ressurss.
Kavandatud ohutut seisundit nimetatakse edaspidi turvaliseks olekuks, samas kui riiki, kus taotletud ressurssi pole võimalik pakkuda, nimetatakse ebaturvaliseks olekuks.
- a. Ohutu seisund (turvaline olek)
Riigi saab kuulutada ohutuks riigiks, kui ummikseis puudub ja on võimalus rahuldada kõik ootel ressursitaotlused ilma ummikut tekitamata. Teatud korraldust järgides.
- b. Ebaturvaline seisund (ohtlik riik)
Olek kuulutatakse ebaturvaliseks olekuks, kui pole võimalik rahuldada kõiki praegu ootel olevaid taotlusi järjestikuste protsesside abil.
Enamikus süsteemides taotletakse ressursse ainult üks kord. Süsteem peab suutma ära tunda, et ressurss on ohutu või mitte (pole ummikus), pärast seda see eraldatakse.
Ummiku vältimise süsteemis tehakse seda tagades, et programmis oleks maksimaalselt taotlusi. Teisisõnu, see süsteem tagab eelnevalt, et süsteem on alati ohutu. Ükskõik, kas esitate esmase taotluse või taotlete täiendavaid ressursse, peab süsteem olema alati turvalises olekus.
Turvaline olek See olek tekib, kui süsteem saab teatud tingimustel eraldada ressursse igale protsessile ja ikkagi võib tekkida ummikseis. Turvaline riik ei ole ummikseisund, seega on ummikseis olek ohtlik, kuid mitte alati ei põhjusta ohtlik seisund ummikseisundit, kuid on võimalus, et see võib ka tekkida.
Ummiku ennetamine
Ennetusmeetodit peetakse ummikute vältimise seisukohast puhtaks lahenduseks. Kuid ennetamine toob kaasa ressursside halva kasutamise. Ennetamismeetodis kasutatakse lähenemist, kõrvaldades neli tingimust, mis võivad põhjustada täitmise ajal ummikuid. Coffman (1971)
Esimene eemaldatav tingimus on vastastikune välistamine, kui protsessile pole spetsiaalselt määratud ressursse, ei teki kunagi ummikut. Kahe või enama protsessi lubamine samale ressursile juurdepääsuks põhjustab aga kaose. Kasutatavad sammud on ressursside spoolimine, nimelt järjekorras olevate töökohtade järjekorda seadmine ja neid serveeritakse ükshaaval.
Mõned tekkida võivad probleemid on järgmised:
- Kõiki ei saa poolida, protsessitabelit ennast on võimatu poolida.
- Konkureerimine kettaruumis spoolimise eest võib viia ummikusse.
Seetõttu ei saa esimest tingimust jätta tegemata, nii et vastastikust tõrjutust ei saa tõesti ära jätta.
Teine võimalus ootel ja ootetingimuste kaotamisega näib paljutõotavam. Kui praegu ressurssi kasutaval protsessil saab takistada teise ressursi ootamist, siis saab takistada ummikseisu. Kasutatav samm on panna protsessid protsessi alguses küsima vajalikke ressursse, et neile vajalikke ressursse saaks eraldada. Kuid kui on ressursse, mida kasutatakse, ei saa protsess seda käivitada.
Võimalikud probleemid:
- Raske on teada, kui palju ressursse protsessi alguses vaja läheb.
- Ressursside kasutamine ei ole optimaalne, kui on ressursse, mida kasutatakse ainult mõnda aega ja mida ei kasutata, kuid mis kuuluvad siiski protsessile, mis on seda algusest peale taotlenud.
Kolmanda ennetava tingimuse kõrvaldamine osutub mitte paljulubavamaks kui teise tingimuse kõrvaldamine, sest kolmanda tingimuse kõrvaldamisega saab protsessi poolenisti peatada. See pole võimalik, sest lõpetatud protsessi tulemus pole hea.
Viimane viis on eemaldada neljas ringikujuline ootetingimus. On kahte lähenemisviisi, nimelt:
- Seadistage nii, et iga protsess saaks korraga kasutada ainult ühte ressurssi. Kui ta soovib teist ressurssi, tuleb omandis olev ressurss vabastada.
- Tehke ressursile juurdepääsevate protsesside nummerdamine. Protsessil on võimalik ressurssi igal ajal taotleda, kuid taotlused tuleb esitada järjekorras.
Võimalik probleem seadistamisel, et igal protsessil võib olla ainult üks protsess, pole veel kõik protsess nõuab ainult ühte ressurssi, keeruka protsessi jaoks võtab see korraga palju ressursse koos. Samal ajal seisab numeratsiooni puhul probleem selles, et puudub numeratsioon, mis rahuldaks kõiki osapooli.
Loe ka artikleid, mis võivad olla seotud: Analüüs - määratlus, näited, etapid, eesmärgid, eksperdid
Mis on STARVATSIOON
Praeguste ja tulevaste infosüsteemide väljatöötamine viib mitme programmeerimissüsteemini, mitmekordne töötlemine, paralleelne ja hajutatud, mis nõuab protsesside olemasolu, mis töötavad koos sama aeg
¨Nälgimine on seisund, mis tavaliselt tekib pärast ummikseis.
Protsessi puudumine ressursse (sest see juhtus ummikseis) ei saa kunagi ressursse vaja kogeda nälgimine (nälginud).
¨Nälgimine on seisund, mis tavaliselt tekib pärast ummikseis. Protsessi puudumine ressursse (sest see juhtus ummikseis) ei saa kunagi ressursse vaja kogeda nälgimine (nälginud). Nälgimine võib toimuda ajakava koostamise protsessides, mis kasutavad põhimõtet "kiireim lõpetatud protsess kõigepealt", näiteks lühima töö esimene (SJF) ja prioriteetide ajastamine.
Protsessi puudumine ressursse (sest see juhtus ummikseis) ei saa kunagi ressursse vaja kogeda nälgimine (nälginud). Näljast saab vananemise ja töötlemise ümmarguse Robini abil.
LÜLITAMISE AJAL
Protsessid, millel puuduvad ressursid (ummikute tõttu), ei saa kunagi vajalikke ressursse, nii et nad kogevad nälga (nälga)
TULEKU LUKUSTAMATA
See on siis, kui süsteemis on viga, nii et jaotuses on ebavõrdsus ressurss. Üks protsess saab alati ressursse, samas kui muud protsessid seda kunagi ei saa
Näljutamise omadused
Nälg võib tekkida ajastamisprotsessides, mis kasutavad põhimõtet "kõige kiiremini lõpule viidud protsess on esimene", näiteks lühim töö kõigepealt (SJF) ja prioriteetide ajastamine.
Loe ka artikleid, mis võivad olla seotud: Operatsiooniuuring - määratlus, etapid, mudel, määratlus, eesmärgid, näited
Nälga vananemise ja RR ületamine
Näljast vananemise ületamine
- Olemasolevatele algprotsessidele antakse töötlemisjärjestus (N) valemiga N = (P + T) / P. Käivitatakse maksimaalne N ja muid protsesse suurendatakse nende protsesside järjekorras, nii et kui mõni teine protsess siseneb, saab eelmine protsess ressursist osa ja seda saab teha.
- Kui on mitu protsessi, milles on maksimaalselt N, siis nende protsesside seas nähakse aega, mis kulub selle lõpuleviimiseks. Kui see on ikka sama, siis vaadake saabumisaega.
Näljahäda RR ületamine
Näljast üle saamiseks on mitmeid viise, üks neist on vananemine, algprotsessid antakse järjekorras
(N) töötlemine valemiga N = (P + T) / P. Käivitatakse maksimaalne N ja muid protsesse suurendatakse nende protsesside järjekorras, nii et kui mõni teine protsess siseneb, saab eelmine protsess ressursist osa ja seda saab teha.
Kui on mitu protsessi, milles on maksimaalselt N, siis nende protsesside seas nähakse aega, mis kulub selle lõpuleviimiseks. Kui see on ikka sama, siis vaadake saabumisaega.
Lisaks saab näljahädast ümmarguse Robini abil töötlemisega üle ka.
ümmargune robin, on protsess, mis pannakse järjekorda vastavalt saabumisprotsessile. Lahenduses ei viida protsess kohe lõpule, kui vajalik aeg ületab antud kvantaja.
Kvantiaeg ise on aeg, mis on antud protsessi lõpuleviimiseks. Kui protsess on jõudnud kvanttaimuni, tagastatakse ülejäänud protsess järjekorra taha ja ressursid viiakse järgmisse protsessi. Nii saavad kõik järjekorras olevad protsessid ressursse omakorda (ühelgi protsessil pole ressursside monopoli), et kõik protsessid saaksid lõpule viia.
- Ring Robin on protsess, mis pannakse järjekorda vastavalt saabumisprotsessile. Lahenduses ei viida protsess kohe lõpule, kui vajalik aeg ületab antud kvantaja.
- Kvantiaeg on aeg, mis on antud protsessi lõpuleviimiseks. Kui protsess on jõudnud kvanttaimuni, tagastatakse ülejäänud protsess järjekorra taha ja ressursid viiakse järgmisse protsessi. Nii saavad kõik järjekorraprotsessid ressursid omakorda (ühelgi protsessil pole ressursside monopoli), et kõik protsessid saaksid lõpule viia.
Loe ka artikleid, mis võivad olla seotud: Juhtimise infosüsteemid - määratlus, funktsioonid, eesmärgid, protsessid, võimalused, näited
Erinevus tupikseisus ja nälgimises
Ummik
- Ummik on tingimus, kus protsesside kogum ei saa ressursside konkurentsi tõttu uuesti töötada.
- Protsess on olekus ummikseis kui kõik protsessid on ooteseisundis ( ootejärjekord) sündmused, mida saab läbi viia ainult ootejärjekorras olevate protsessidega.
- Tegelikult ummikseis Selle võib põhjustada neli asja:
- Protsess Vastastikune välistamine.
- Hoidmise ja ootamise protsess.
- Protsess eelisõigus.
- Ootamisprotsess tsükliga ummikseis teatud.
Nälgimine
- ¨Nälgimine on seisund, mis tavaliselt tekib pärast ummikseis. Protsessi puudumine ressursse (sest see juhtus ummikseis) ei saa kunagi ressursse vaja kogeda nälgimine (nälginud).
- Nälgimine võib toimuda ajakava koostamise protsessides, mis kasutavad põhimõtet "kiireim lõpetatud protsess kõigepealt", näiteks lühima töö esimene (SJF) ja prioriteetide ajastamine.
- Näljast saab vananemise ja töötlemise ümmarguse Robini abil.
Näide
Esimene näide
- Üks hüpikmenüü teadetest, mis kuvatakse Windowsi operatsioonisüsteemis näljahäda korral.
- Selle hüpikmenüü märguande korral ei saa ekraan toimida vastavalt selle funktsioonile (ei saa programmi klõpsata ega käivitada). Win32-s tekkis viga või võib-olla kahjustus, kuna programmiressursside liiga palju käivitamiseks oli mäluressursside puudus.
- Ülaltoodud märguannete hüpikmenüü nupp "Ära saada" põhjustab ekraani hetkeks külmumise ja automaatse värskendamise.
Teine näide
Õpilasel on 3 ülesannet ja ta tahab ka uut filmi vaadata. Õpilane seab vaatamise asemel esikohale ülesannete täitmise. Enne kolme ülesande täitmist andis teine õppejõud talle uue ülesande. Järgmisel päeval oli assistendi ülesanne järgmisele praktikumile. Kui üks ülesanne on lõpetamata, on lektoril või assistendil juba teine ülesanne. See kordub pidevalt, nii et õpilase soov uut filmi vaadata ei pruugi olla täidetud või mitte.