Opredelitev mrtve točke, stradanja, razlike, preprečevanja in premagovanja

Definicija mrtve točke, stradanja, razlike, preprečevanja, premagovanja in vzroka: stanje, v katerem dva ali več procesov čakata, da bosta sprostila vire, ki so trenutno v uporabi.

Zastoj in stradanje

Seznam za hitro branjeoddaja
1.Definicija DEADLOCK
1.1.Model sistema mrtve točke
1.2.Zastoj virov
1.2.1.Preemptable
1.2.2.Neizogibno
1.3.Vzrok mrtve točke
1.4.Obravnava mrtve točke in težave
1.4.1.Obravnava mrtve točke
1.4.2.Ignoriranje težav z mrtve točke
2.Zaznajte in se izogibajte
2.1.Odkrivanje in popravilo
2.2.Izogibanje zastoju
3.Preprečevanje mrtve ulice
4.Kaj je STARVATION
5.Značilnosti stradanja
6.Premagovanje staranja zaradi stradanja in RR
6.1.Premagovanje staranja zaradi stradanja
6.2.Premagovanje stradanja RR
7.Razlika med mrtvim položajem in stradanjem
7.1.Zastoj
7.2.Lakota
8.Primer
8.1.Prvi primer
8.2.Drugi primer
8.3.Deliti to:
8.4.Sorodne objave:

Preberite tudi članke, ki so lahko povezani: Razumevanje informacijskih sistemov


Definicija DEADLOCK

Zastoj je stanje, v katerem dva ali več procesov čakata, da se sprostijo viri, ki so trenutno v uporabi. Ker več procesov čaka drug na drugega, pri njihovem delu ni napredka. Zastoj v resničnem pomenu je zastoj. Zastoj, na katerega se sklicuje operacijski sistem, je zastoj procesa. Zastoj je težava, ki se ponavadi pojavi, ko si mnogi procesi delijo vir, ki ga lahko spreminja le en proces hkrati. Zastoj je torej pogoj, ko postopek ne teče več ali med procesi ni več komunikacije.

instagram viewer


Primer zastoja:

  1. Proces A uporablja CD-ROM.
  2. Proces B uporablja optični bralnik.
  3. Proces A zahteva Scanner (brez odstranjevanja CD-ROM-a) → čaka.
  4. Proces B zahteva CD-ROM (brez odstranjevanja optičnega bralnika) → čaka.
  5. Čakam... čakam... DEADLOCK.

Model sistema mrtve točke

Če želite modelirati pogoje zastojev, si predstavljajte sistem z:

  1. Niz procesov, P = {P1, P2,…, Pn}
  2. Nabor različnih vrst virov, R = {R1, R2,…, Rm}
  3. Vir Ri ima n enakih delov (primerkov) in vsak se uporablja.

V običajnem operativnem modelu postopek uporablja vire v naslednjem vrstnem redu:

  • Predložite zahtevo
    Če zahteve ni mogoče odobriti takoj (npr. Ker vir uporablja drug postopek), mora postopek počakati, dokler zahtevani vir ni na voljo.
  • Uporaba virov (uporaba)
    Procesi lahko uporabljajo vire, na primer tiskalnike za tiskanje, diskovne pogone za izvajanje V / I operacij itd.
  • Sprostite vire (relase)
    Ko postopek konča z uporabo vira, ga je treba sprostiti, da ga lahko uporabi drug postopek.
Model delovanja mrtve točke

Zastoj virov

Zastoji se lahko pojavijo, ko postopek neprimerno dostopa do predmeta. Ti predmeti se imenujejo viri. Obstajata dve vrsti virov, in sicer:


Preemptable

Vir je dejal preemptable če je vir mogoče vzeti (sprostiti) iz procesa, ki ga uporablja, ne da bi to imelo kakršen koli učinek. Tega vira ne porabi noben postopek. Ko pa se postopek konča, se ti viri vrnejo v uporabo drugim procesom, ki prej niso dobili tega vira.


Na primer procesor, I / K kanal, disk, semafor. Primer vloge tovrstnih virov pri pojavu Zastoj je na primer postopek, ki uporablja diska A in B, se bo zgodil zastoj če ima vsak postopek že en disk in zahteva drugega. Te težave ne čutijo le programerji, ampak tudi nekdo, ki načrtuje operacijski sistem. Splošno uporabljena metoda je najprej izračunavanje virov, ki jih uporabljajo procesi, ki bodo te vire uporabili. Še en primer, ki povzroča zastoj od virov, ki jih je mogoče večkrat uporabiti, je povezano s številom procesov, ki uporabljajo glavni pomnilnik. Primer je razviden iz naslednje kode:


Preemptable

Ko sta postopka P in Q prvič izvedla funkcijo zahteve, je razpoložljivih virov v seriji 50 (200-70-80). Torej, ko P znova zažene zahtevalno funkcijo kar 60, potem P ne bo našel vira iz sklopa 60, zato bo P počakal, dokler se zahtevani vir ne napolni. Tudi pri Q bo počakal, dokler se njegova zahteva ne bo izpolnila, končno se zgodi zastoj. Rešitev za to je uporaba navideznega pomnilnika.


Neizogibno

Pri tej vrsti vira vira ni mogoče pridobiti iz procesa, ki ga izvaja, ker bo povzročil napako v računih. Tiskalniki so en primer. Če postopek uporablja tiskalnik za tiskanje nečesa, potem tega tiskalnika ni mogoče dobiti za tiskanje nečesa iz drugega postopka. Tovrstni viri se običajno lahko pojavijo zastoji. Primeri so naslednji:


Neizogibno

Od obeh funkcij obstajata tisti, ki delujeta tako, da sprejemata in oddajata vire, toda v nekaterih primerih proces ne dobi virov, ustvarjenih tako, da pride do bloka, ker se to zgodi zastoj. Seveda je to zelo redko, saj proizvodnja in poraba nimata omejitev, vendar pa pride do take situacije zastoj. Posledica tega je zastoj To vrsto je težko odkriti. razen da zastoj proizvede ga neka zelo redka kombinacija.


Vzrok mrtve točke

Ko vidimo nekaj zgornjih ilustracij, si lahko zdaj začnemo predstavljati, kaj je to zastoj. Pravzaprav zastoj zgodilo se bo, če bodo pogoji iz zastoj je izpolnjen. Obstajajo 4 pogoji, ki povzročajo zastoj kot sledi:


  • a. Medsebojna izključitev
    Obstaja samo en postopek, ki lahko uporabi vir, in drug postopek, ki želi uporabiti vir mora počakati, da se vir sprosti ali ga noben postopek ne uporablja to.
  • b. Počakaj in počakaj
    Proces, ki uporablja vir, ga lahko znova zahteva, kar pomeni, da čaka, dokler ga zahtevani vir ne zahteva ki jih uporabljajo drugi procesi, lahko to vodi do stradanja virov, ker postopek morda ne bo dobil virov pravočasno ki je stara.
  • c. Brez predplačila
    Viri, ki obstajajo v procesu, se pri drugih procesih ne smejo jemati kot samoumevne. Da bi dobili te vire, jih je treba najprej sprostiti po postopku, ki jih ima, razen tega celoten postopek čaka in dovoli le procese, ki imajo sredstva hodi.
  • d. Krožno počakaj
    Pogoji, kot so verige, tj. Postopek zahteva vir, ki ga zadrži naslednji postopek.

Obravnava mrtve točke in težave

Obravnava mrtve točke

Obstaja več načinov ravnanja zastoj, ki so na splošno na voljo na 4 načine, in sicer:

  1. Prezri težavo.
  2. Odkrivanje in popravilo.
  3. Izogibanje.
  4. Preprečevanje.

Ignoriranje težav z mrtve točke

Za zagotovitev, da sistem ne vstopi zastoj, sistem lahko uporablja preventivo zastoj ali izogibanje zastoj. Izogibanje zastoj zahteva informacije o tem, katere vire bo zahteval postopek in kako dolgo bo uporabljal. S temi informacijami se lahko odločimo, ali naj postopek počaka ali ne. To je posledica obstoja vira, ne glede na to, ali ga uporablja drug postopek ali ne.


Ta metoda je bolj znana kot Nojev algoritem. V tem algoritmu je rečeno, da se je treba ukvarjati Zastoj je pretvarjati se, da ni nič narobe. Zdi se, da je to nekaj usodnega, vendar se operacijski sistem Unix s tem spopada Zastoj na ta način tako, da ne zazna Zastoj in naj samodejno izklopi program, tako da se zdi, kot da se ni nič zgodilo. Torej, če se zgodi Zastoj, potem bo tabela polna, zato mora postopek, ki postopek izvaja prek operaterja, počakati določen čas in poskusiti znova.


Preberite tudi članke, ki so lahko povezani: Upravljanje s človeškimi viri: opredelitev, funkcije, cilji, elementi, pristop


Zaznajte in se izogibajte

Odkrivanje in popravilo

Trik je v odkrivanju, če se to zgodi Zastoj V procesu se zazna, kateri sistem je v njem vključen. Ko vemo, za katere sisteme gre, poteka postopek popravila in ponovnega zagona sistema. Če sistem ne zagotavlja zastoj se zgodi, zaznavanje pa je tudi ne podpira zastoj in preventiva, potem bomo prišli do stanja zastoj kar lahko vpliva na delovanje sistema, ker proces ne more uporabiti virov, tako da so moteni tudi drugi procesi. Sčasoma se sistem ustavi in ​​ga bo treba znova zagnati.


Stvari, ki se zgodijo pri zaznavanju prisotnosti Zastoj je:

  1. Zahteve za vire se odobrijo čim dlje.
  2. Operacijski sistem preveri pogoje krožno čakanje občasno.
  3. Preverjanje obstoja Zastoj To lahko storite, kadar koli obstaja vir, ki ga želi postopek uporabiti.
  4. Preverjanje z določenim algoritmom.

Izogibanje zastoju

Pristop te metode je, da dovoli le zahteve za vire, ki verjetno ne bodo povzročile zastojev. Ta metoda preučuje vpliv odobritve dostopa do postopka, če odobritev dostopa ni mogoča, kar bi vodilo v zastoj, bodo sredstva dodeljena postopku, ki vloži zahtevo. Če postopek ni varen, se postopek vložitve prekine, dokler zahtevi ni mogoče ugoditi. Do tega stanja pride po tem, ko je bil sproščen vir, ki ga je imel drug postopek.


Predvideno varno stanje se v nadaljevanju imenuje varno stanje, država, v kateri ni mogoče zagotoviti zahtevanega vira, pa se imenuje nevarno stanje.


  • a. Varno stanje (varno stanje)
    Stanje lahko razglasimo za varno, če ni blokade in obstaja način, da izpolnimo vse čakajoče zahteve za vire, ne da bi ustvarili blokado. Z upoštevanjem določenega vrstnega reda.
  • b. Nevarno stanje (nevarno stanje)
    Stanje je razglašeno za nevarno, če ni mogoče zadovoljiti vseh trenutno čakajočih zahtev z izvajanjem procesov v zaporedju.
Izogibanje

V večini sistemov se zahteve za vire pošlje samo enkrat. Sistem mora biti sposoben prepoznati, da je vir varen ali ne (ni v blokadi), potem pa je dodeljen.


V sistemu za izogibanje zastojem se to naredi tako, da ima program največ zahtev. Z drugimi besedami, ta sistem vnaprej zagotavlja, da bo sistem vedno v varnem stanju. Ne glede na začetno zahtevo ali zahtevo dodatnih virov mora biti sistem vedno v varnem stanju.


Varno stanje To stanje se zgodi, če lahko sistem v določenih okoliščinah dodeli sredstva za vsak postopek in kljub temu lahko pride do zastoja. Varno stanje ni stanje zastoja, zato je stanje zastoja nevarno, vendar ne vedno nevarno stanje povzroči zastoj, vendar obstaja možnost, da se to zgodi.


Preprečevanje mrtve ulice

Preventivna metoda z vidika preprečevanja zastojev velja za čisto rešitev. Toda preprečevanje bo povzročilo slabo porabo virov. Metoda preprečevanja uporablja pristop z odpravo štirih pogojev, ki lahko povzročijo mrtve točke med izvedbo. Coffman (1971)


Prvi pogoj, ki ga je mogoče odstraniti, je vzajemna izključitev, če ni nobenih virov, posebej določenih za postopek, nikoli ne bo zastoja. Dovoljenje dveh ali več procesov do istega vira pa bo povzročilo kaos. Uporabljeni koraki so spool virov, in sicer z čakalnimi opravili v čakalni vrsti, ki se bodo izvajala posamezno.


Nekatere težave, ki se lahko pojavijo, so:

  1. Vseh ni mogoče spoolovati, sam procesne tabele je nemogoče preslikati.
  2. Konkurenca na diskovnem mestu za samoizvajanje lahko povzroči mrtve točke.

Zato prvega pogoja ni mogoče izpustiti, zato vzajemne izključitve res ni mogoče izpustiti.


Drugi način z odpravo pogojev zadrževanja in čakanja se zdi bolj obetaven. Če je mogoče postopku, ki trenutno uporablja vir, preprečiti čakanje na drug vir, potem lahko preprečimo zastoj. Korak, ki se uporablja, je, da procesi zahtevajo vire, ki jih potrebujejo na začetku procesa, tako da jih je mogoče dodeliti. Če pa se uporabljajo viri, potem postopek ne more zagnati procesa.


Možne težave:

  1. Težko je vedeti, koliko virov bo potrebnih na začetku postopka.
  2. Uporaba virov ni optimalna, če obstajajo viri, ki se uporabljajo le nekaj časa in se ne uporabljajo, vendar so še vedno v lasti postopka, ki je to zahteval od samega začetka.

Odprava tretjega nepredvidljivega stanja se ne izkaže nič bolj obetavno kot odprava drugega pogoja, saj lahko z odpravo tretjega stanja postopek ustavimo na pol poti. To ni mogoče, ker rezultat zaključenega postopka ni dober.


Zadnji način je odstranitev četrtega pogoja krožnega čakanja. Obstajata dva pristopa, in sicer:

  1. Nastavite tako, da lahko vsak postopek uporablja samo en vir hkrati, če pa želi drug vir, mora biti lastniški vir sproščen.
  2. Oštevilčite procese, ki dostopajo do vira. Postopek lahko kadar koli zahteva vir, vendar morajo biti zahteve podane po vrstnem redu.

Možna težava pri nastavitvi, da ima lahko vsak postopek samo en postopek, je ta, da ne vseh postopek zahteva samo en vir, za zapleten postopek pa hkrati potrebuje več virov skupaj. Medtem je pri oštevilčenju težava ta, da ni številčenja, ki bi lahko zadovoljilo vse strani.


Preberite tudi članke, ki so lahko povezani: Analiza - opredelitev, primeri, stopnje, cilji, strokovnjaki


Kaj je STARVATION

Razvoj sedanjih in prihodnjih informacijskih sistemov bo privedel do večprogramskega sistema, večkratna obdelava, vzporedna in porazdeljena, ki zahteva obstoj procesov, ki delujejo skupaj v istočasno


¨Lakota je stanje, ki se običajno pojavi po zastoj.

Pomanjkanje postopka virov (ker se je zgodilo zastoj) nikoli ne bo dobil virov potrebno za izkušnje lakota (strada).


¨Lakota je stanje, ki se običajno pojavi po zastoj. Pomanjkanje postopka virov (ker se je zgodilo zastoj) nikoli ne bo dobil virov potrebno za izkušnje lakota (strada). Stradanje lahko nastopi v postopkih načrtovanja, ki uporabljajo načelo "najprej najhitreje zaključen postopek", na primer pri najkrajšem prvem delu (SJF) in prednostnem načrtovanju.


Pomanjkanje postopka virov (ker se je zgodilo zastoj) nikoli ne bo dobil virov potrebno za izkušnje lakota (strada). Stradanje lahko premagamo s staranjem in obdelavo s pomočjo Round Robin-a.


ZARADI GLASBE

LAKOTA

Procesi, ki jim primanjkuje virov (zaradi zastojev), ne bodo nikoli dobili virov, ki jih potrebujejo, zato se jim zdi lakota (stradanje)


BREZ DEADLOCK-a

BREZ DEADLOCK-a

Takrat pride do napake v sistemu, tako da pri distribuciji pride do neenakosti vir. En postopek vedno dobi virov, medtem ko ga drugi procesi nikoli ne dobijo

Značilnosti stradanja

Stradanje lahko nastopi pri postopkih načrtovanja, ki uporabljajo načelo "najhitreje zaključen postopek je na prvem mestu", na primer pri najkrajšem delovnem mestu (SJF) in prednostnem načrtovanju.


Preberite tudi članke, ki so lahko povezani: Raziskave operacij - opredelitev, stopnje, model, definicija, cilji, primeri


Premagovanje staranja zaradi stradanja in RR

Premagovanje staranja zaradi stradanja

  • Obstoječi začetni procesi dobijo zaporedje (N) obdelave s formulo N = (P + T) / P. Največ N se bo zagnalo, drugi procesi pa se bodo povečali po vrstnem redu svojih procesov, tako da bo kasneje, če vstopi drug postopek, prejšnji postopek dobil delež vira in bo z njim mogoče delati.

  • Če obstaja več procesov, ki imajo največ N, potem so ti procesi vidni od časa, ki je potreben za dokončanje. Če je še vedno enako, poglejte čas prihoda.
Diagram stradanja

Premagovanje stradanja RR

Obstaja več načinov za premagovanje stradanja, eden izmed njih je Staranje, začetni procesi so podani po vrsti
(N) obdelava s formulo N = (P + T) / P. Največ N se bo zagnalo, drugi procesi pa se bodo povečali po vrstnem redu svojih procesov, tako da bo kasneje, če vstopi drug postopek, prejšnji postopek dobil delež vira in bo z njim mogoče delati.


Če obstaja več procesov, ki imajo največ N, potem so ti procesi vidni od časa, ki je potreben za dokončanje. Če je še vedno enako, poglejte čas prihoda.
Poleg tega lahko lakoto premagamo tudi z obdelavo s pomočjo Round Robin-a.


okrogla, je postopek, ki bo postavljen v čakalno vrsto v skladu s postopkom prihoda. V rešitvi postopek ne bo končan takoj, če zahtevani čas preseže dani kvantni čas.


Kvantni čas sam je čas, ki je bil dan za dokončanje postopka. Ko proces doseže kvantno časovno omejitev, se preostali del procesa vrne v zadnjo čakalno vrsto in viri se premaknejo v naslednji postopek. Tako bodo vsi procesi v čakalni vrsti dobili vire po vrsti (noben postopek nima monopola nad viri), tako da je mogoče vse procese dokončati.


  • Round Robin je postopek, ki bo postavljen v čakalno vrsto glede na postopek prihoda. V rešitvi postopek ne bo končan takoj, če zahtevani čas preseže dani kvantni čas.

  • Kvantni čas je pretečeni čas za dokončanje postopka. Ko proces doseže kvantno časovno omejitev, se preostali del procesa vrne v zadnjo čakalno vrsto in viri se premaknejo v naslednji postopek. Tako bodo vsi procesi v čakalni vrsti dobili vire po vrsti (noben postopek nima monopola nad viri), tako da je mogoče vse procese dokončati.

Preberite tudi članke, ki so lahko povezani: Upravljavski informacijski sistemi - opredelitev, funkcije, cilji, procesi, zmogljivosti, primeri


Razlika med mrtvim položajem in stradanjem

Zastoj

  • Zastoj je stanje, v katerem se niz procesov ne more znova zagnati zaradi konkurence za vire.
  • Proces je v stanju zastoj ko so vsi procesi v čakalnem stanju (v čakalna vrsta) dogodke, ki jih lahko izvajajo samo procesi, ki so v čakalni vrsti.

  • Pravzaprav zastoj To lahko povzročijo štiri stvari:
  1. Proces Medsebojna izključitev.
  2. Postopek zadrževanja in čakanja.
  3. Proces predkupna pravica.
  4. Čakalni proces s ciklom zastoj gotovo.

Lakota

  • ¨Lakota je stanje, ki se običajno pojavi po zastoj. Pomanjkanje postopka virov (ker se je zgodilo zastoj) nikoli ne bo dobil virov potrebno za izkušnje lakota (strada).
  • Stradanje lahko nastopi v postopkih načrtovanja, ki uporabljajo načelo "najprej najhitreje zaključen postopek", na primer pri najkrajšem prvem delu (SJF) in prednostnem načrtovanju.
  • Stradanje je mogoče premagati s staranjem in obdelavo s pomočjo Round Robin-a.

Primer

Prvi primer

Primer generičnega gostitelja
  • Eno od obvestil v pojavnem meniju, ki se prikaže, če v operacijskem sistemu Windows strada.
  • Ko se prikaže to obvestilo v pojavnem meniju, se zaslon ne more zagnati v skladu s svojo funkcijo (programa ni mogoče klikniti ali zagnati). Prišlo je do napake ali morda poškodbe Win32, ker je primanjkovalo pomnilniških virov zaradi preveč izvajanja programov, ki jih je bilo treba zagnati.
  • Gumb »Ne pošiljaj« v zgornjem meniju za obvestila povzroči, da se zaslon za trenutek zamrzne in samodejno osveži.

Drugi primer

Študent ima 3 naloge in si želi ogledati tudi nov film. Študent daje prednost izpolnjevanju nalog kot gledanju. Pred zaključkom treh nalog mu je drug predavatelj dal novo nalogo. Naslednji dan je bila naloga asistenta za naslednji praktikum. Ko ena naloga ni dokončana, je predavatelju ali asistentu naložena druga naloga. To se ponavlja, tako da se študentova želja po ogledu novega filma morda ne izpolni ali ne.