Anbefalt, 2024

Redaksjonens

Forskjell mellom dødsfall og sult i operativsystemet

Deadlock og Sulting begge er forholdene der prosessene som ber om en ressurs har blitt forsinket i lang tid. Selv om dødsfall og sult begge er forskjellige fra hverandre i mange aspekter. Deadlock er en tilstand der ingen prosess fortsetter for utførelse, og hver venter på ressurser som er blitt anskaffet av de andre prosessene. På de andre hender, i sult, prosess med høye prioriteter bruker kontinuerlig ressursene som hindrer lav prioritetsprosess for å skaffe ressursene. La oss diskutere noen flere forskjeller mellom dødsfall og sult ved hjelp av sammenligningskjema vist nedenfor.

Sammenligningstabel

Grunnlag for sammenlikningvranglåsSult
grunn~~POS=TRUNCDeadlock er der ingen prosess fortsetter, og blir blokkert.Sult er hvor prosesser med lav prioritet blir blokkert, og prosessen med høy prioritet fortsetter.
Oppstår tilstandForekomsten av gjensidig utestenging, hold og vent, ingen forhåndsvisning og sirkulær venter samtidig.Håndheving av prioriteringer, ukontrollert ressursforvaltning.
Andre navnSirkulær vente.Lifelock.
ressurserI døde låser de ønskede ressursene seg av de andre prosessene.I sult er de forespurte ressursene kontinuerlig brukt av høyprioritetsprosesser.
ForebyggingUnngå gjensidig utestenging, hold og vent, og sirkulær vente og tillate forhåndsvisning.Aldring.

Definisjon av Deadlock

Deadlock er en situasjon hvor de flere prosessene 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. I bildet nedenfor kan du se at prosess P1 har oppnådd ressurs R2 som er forespurt av prosess P2 og prosess P1 ber om ressurs R1 som igjen holdes av R2. Så prosessen P1 og P2 danner en dødlås.

Deadlock er et vanlig problem i multiprocessing operativsystemer, distribuerte systemer, og også i parallelle databehandlingssystemer. Det er fire forhold som må skje samtidig for å øke tilstanden til dødsfall, som er gjensidig utestenging, hold og venter, ingen forløsning og sirkulær vente.

  • Gensidig utestenging: Bare én prosess om gangen kan bruke en ressurs hvis andre prosesser ber om samme ressurs, den må vente til prosessen bruker ressursutgivelser den.
  • Hold og vent: En prosess må ha en ressurs og venter på å skaffe seg en annen ressurs som holdes av en annen prosess.
  • Ingen Forutsetning: Prosessen med ressursene kan ikke forhåndsføres. Prosessen med ressursen må frigjøre ressursen frivillig når den har fullført oppgaven.
  • Sirkulær vent: 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 holdes av P1; P1 må vente på å skaffe ressursen holdt av prosess P2, og P2 må vente på å skaffe prosessen holdt av P0.

Selv om det er noen programmer som kan oppdage programmene som kan bli låst. Men operativsystemet er aldri ansvarlig for å hindre deadlocks. Det er programmørens ansvar å designe gratis programmer. Det kan gjøres ved å unngå de ovennevnte forholdene som er nødvendige for dødsfallstilfelle

Definisjon av sult

Sultning kan defineres som når en prosessforespørsel om en ressurs og den ressursen har blitt kontinuerlig brukt av de andre prosessene, så blir forespørselsprosessen utsatt for sult. I sult, venter en prosess klar til å utføre, at CPU skal allokere ressursen. Men prosessen må vente på ubestemt tid som de andre prosessene blokkerer kontinuerlig de forespurte ressursene.

Problemet med sult forekommer vanligvis i prioritert planleggingsalgoritme . I prioriteringsplanleggingsalgoritmen tildeles prosessen med høyere prioritet alltid ressursen, slik at den lavere prioritetsprosessen ikke får den forespurte ressursen.

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

Viktige forskjeller mellom dødsfall og sult i operativsystemet

  1. I en blindlås, fortsetter ingen av prosessene for utførelse, hver prosess blir blokkert og venter på ressursene som er oppnådd av en annen prosess. På den annen side er sult en tilstand der prosessene som har høyere prioritet, får lov til å skaffe ressursene kontinuerlig ved å forhindre at de lavprioriterte prosessene skal skaffe ressurser som resulterer i ubestemt blokkering av lavprioriterte prosesser.
  2. Dødsfall oppstår når fire betingelser Gensidig utestenging, hold og vent, ingen forløsning, og sirkulær venting skjer samtidig. Imidlertid oppstår sult når prosessprioriteter har blitt håndhevet mens ressurser tildeles, eller det er ukontrollert ressursstyring i systemet.
  3. Deadlock kalles ofte av navnet sirkulær vente mens sulten heter Lived lock .
  4. I Deadlock er ressursene blokkert av prosessen, mens prosessene i sult er kontinuerlig brukt av prosessene med høy prioritet.
  5. Deadlock kan forebygges ved å unngå forholdene som gjensidig utestenging, Hold og vent, og sirkulær vente og ved å tillate forløsning av prosessene som holder ressurser i lang tid. På den annen side kan sulten forhindres ved aldring .

Konklusjon:

Både Deadlock og Sulten forsinker prosessen kjøring ved å blokkere den. På den ene siden hvor dødlokk kan forårsake prosesser å sulte, og på den andre siden kan sulten få prosessene ut av døddommen.

Top