Forskjellen mellom Deadlock og Starvation i OS

Forfatter: Laura McKinney
Opprettelsesdato: 3 April 2021
Oppdater Dato: 23 April 2024
Anonim
Fox Colors 🦊 Fox Colors 😍 Interesting Facts ⚡ Foxes 👍 4K
Video: Fox Colors 🦊 Fox Colors 😍 Interesting Facts ⚡ Foxes 👍 4K

Innhold


Deadlock og Starvation er begge forholdene der prosessene som ber om en ressurs har blitt forsinket i lang tid. Selv om deadlock og sult begge er forskjellige fra hverandre i mange aspekter. vranglås er en betingelse der ingen prosesser fortsetter for utførelse, og hver venter på ressurser som er anskaffet av de andre prosessene. På den andre hånden, inn Sult, prosess med høye prioriteringer bruker kontinuerlig ressursene som forhindrer prosess med lav prioritet for å skaffe ressursene. La oss diskutere noen flere forskjeller mellom dødvoks og sult ved hjelp av sammenligningstabellen vist nedenfor.

  1. Sammenligningstabell
  2. Definisjon
  3. Viktige forskjeller
  4. Konklusjon

Sammenligningstabell

Grunnlag for sammenligningvranglåsSult
grunn~~POS=TRUNCDeadlock er der ingen prosesser fortsetter, og blokkeres.Sult er der prosesser med lav prioritet blokkeres, og prosessen med høy prioritet fortsetter.
Oppstående tilstandForekomsten av gjensidig ekskludering, hold og vent, ingen forhåndsvisning og rundskriv venter samtidig.Håndhevelse av prioriteringer, ukontrollert ressursstyring.
Andre navnSirkulær ventetid.Lifelock.
ressurserNår de er deaktivert, blir forespurte ressurser blokkert av de andre prosessene.I sult blir de forespurte ressursene kontinuerlig brukt av prosesser med høy prioritet.
ForebyggingUnngå gjensidig utelukkelse, hold og vent, og sirkulær ventetid og tillater dispensasjon. Aldring.


Definisjon av Deadlock

Deadlock er en situasjon der flere prosesser i CPU konkurrerer om det endelige antallet ressurser som er tilgjengelige i CPU. Her har hver prosess en ressurs og venter på å skaffe en ressurs som holdes av en annen prosess. Alle prosessene venter på ressurser på en sirkulær måte. På bildet nedenfor kan du se at prosess P1 har anskaffet ressurs R2 som blir forespurt av prosess P2 og prosess P1 ber om ressurs R1 som igjen holdes av R2. Så prosess P1 og P2 danner en deadlock.

Deadlock er et vanlig problem i flerprosesseringsoperativsystemer, distribuerte systemer, og også i parallelle datamaskinsystemer. Det er fire forhold som må oppstå samtidig for å heve tilstanden til dødvakt, som er gjensidig utelukkelse, hold og venter, ingen forhåndsbetingelser og sirkulær ventetid.


  • Gjensidig utelukkelse: Bare en prosess om gangen kan bruke en ressurs hvis andre prosesser ber om den samme ressursen, den må vente til prosessen ved bruk av ressursen frigjør den.
  • Hold og vent: En prosess må ha en ressurs og vente på å skaffe seg en annen ressurs som holdes av en annen prosess.
  • Ingen fritak: Prosessen som holder ressursene kan ikke forhåndsdrives. Prosessen som holder ressursen, må frigjøre ressursen frivillig når den har fullført oppgaven.
  • Sirkulær ventetid: Prosessen må vente på ressurser på en sirkulær måte. Anta at vi har tre prosesser {P0, P1, P2}. P0 må vente på ressursen som er i P1; P1 må vente med å anskaffe ressursen som er i prosess P2, og P2 må vente med å skaffe prosessen som er inneholdt av P0.

Selv om det er noen applikasjoner som kan oppdage programmene som kan bli ulåst. Men operativsystemet er aldri ansvarlig for å forhindre dødballer. Det er programmerernes ansvar å designe deadlock-gratis programmer. Det kan gjøres ved å unngå de ovennevnte forholdene som er nødvendige for dødløs forekomst

Definisjon av sult

Sult kan defineres som når en prosessforespørsel etter en ressurs og at ressursen kontinuerlig er blitt brukt av de andre prosessene, da den anmodende prosessen står overfor sult. I sult venter en prosess som er klar til å utføre på at CPU tildeler ressursen. Men prosessen må vente på ubestemt tid da de andre prosessene kontinuerlig blokkerer de forespurte ressursene.

Problemet med sult forekommer vanligvis i prioriteringsplaneringsalgoritme. I prioriteringsplanleggingsalgoritme tildeles prosessen med høyere prioritet alltid ressursen, noe som forhindrer prosessen med lavere prioritet å få den forespurte ressursen.

aldring kan løse problemet med sult. Aldring øker gradvis prioriteten til prosessen som har ventet lenge på ressursene. Aldring forhindrer at en prosess med lav prioritet venter på ubestemt tid på en ressurs.

  1. I en dødvakt fortsetter ingen av prosessene for utførelse, hver prosess blokkeres og venter på ressursene som er anskaffet av den andre prosessen. På den annen side er sult en betingelse der prosessene som har høyere prioritet får lov til å skaffe ressursene kontinuerlig ved å forhindre at lavprioritetsprosessene skaffer ressurser som resulterer i ubestemt blokkering av prosesser med lav prioritet.
  2. Deadlock oppstår når fire forhold Gjensidig utelukkelse, Hold og vent, Ingen forbehold og rundskriv forekommer samtidig. Sult forekommer imidlertid ved prosess prioriteringer er blitt håndhevet mens du tildeler ressurser, eller det er ukontrollert ressursstyring i systemet.
  3. Deadlock blir ofte kalt navnet sirkulær ventetid mens sulten kalles Levde lås.
  4. I Deadlock blir ressursene blokkert av prosessen, mens prosessene med sult blir kontinuerlig brukt av prosessene med høye prioriteringer.
  5. Deadlock kan forhindres ved å unngå forholdene som gjensidig utelukkelse, Hold og vent og sirkulær venting og ved å tillate forfremmelse av prosessene som har ressurser i lang tid. På den annen side kan sult forhindres av aldring.

Konklusjon:

Både Deadlock og Starvation forsinker utførelsen av prosessen ved å blokkere den. På den ene siden der deadlock kan føre til at prosesser sulter, og på den andre hånden kan sult få prosessene ut av deadlock.