Forskjell mellom dødsfall og sult | Deadlock vs Sultring

Anonim

Deadlock vs Sulting

Hovedforskjellen mellom dødsfall og sult er årsak og virkning forholdet mellom dem; det er dødsfall som forårsaker sult. En annen interessant forskjell mellom dødsfall og sult er at dødsfallet er et problem mens sult kan, noen ganger, bidra til å komme seg ut av en dødsfall. I datavirksomheten vil det være mer enn én prosess / tråd som samtidig kjører etter hverandre for å oppfylle den nødvendige tjenesten til programmet når man skriver et dataprogram. Derfor, for å få et rettferdig system, må programmøren sørge for at alle prosessene / tråder vil motta eller få nok tilgang til ressurser som de trenger. Hvis ikke, vil det være en dødsfall, og det vil føre til en sult senere. Vanligvis inneholder et rettferdig system ingen dødsfall eller sult. Deadlocks og sult vil forekomme hovedsakelig når mange tråder konkurrerer om begrensede ressurser.

Hva er Deadlock?

En dødlås er en tilstand som oppstår når to tråder eller prosesser venter på hverandre for å fullføre oppgaven . De vil bare henge opp, men aldri stoppe eller fullføre oppgaven. I datalogi, kan deadlocks bli sett overalt. I en transaksjonsdatabase, når to prosesser hver i sin egen transaksjonsoppdatering de samme to radene av informasjon, men i motsatt rekkefølge, vil det føre til en dødlås. Ved samtidig programmering kan det oppstå en dødlås når to konkurrerende handlinger venter på hverandre for å fortsette fremover. I telekommunikasjonssystemer kan en dødlås skje på grunn av tap eller korrupsjon av signaler.

Foreløpig er deadlock et av hovedproblemene i multiprosesseringssystemer og parallell databehandling. Som en løsning er et låsesystem kalt prosesssynkronisering implementert for både programvare og maskinvare.

Hva er sult?

Fra medisinsk ordbok er sult et resultat av alvorlig eller total mangel på næringsstoffer som trengs for å opprettholde livet. På samme måte, i datavitenskap, er sult et problem som oppstår når flere tråder eller prosesser venter på samme ressurs, som kalles en dødlås .

For å komme seg ut fra en dødgang, må en av prosessene eller tråder gi opp eller rulle tilbake slik at den andre tråden eller prosessen kan bruke ressursen. Hvis dette skjer kontinuerlig, og den samme prosessen eller tråden må gi opp eller rulle tilbake hver gang, mens andre prosesser eller tråder skal bruke ressursen, vil den valgte prosessen eller tråden, som rulles tilbake, undergå en situasjon som kalles sult.Derfor for å komme seg ut fra en dødsfall, er sulten en av løsningene . Derfor blir noen ganger sulten kalt en slags livlokk . Når det er mange høyprioriterte prosesser eller tråder, vil en lavere prioritetsprosess eller tråd alltid sulte i en dødlås.

Det kan være mange sultne som sultende på ressurser og sultende på CPU . Det er mange vanlige eksempler på sult. De er problemet med lesere og forfattere og spiseprofiler, som er mer kjent. Det er fem stille filosofer som sitter ved et rundt bord med boller av spaghetti. Gafler er plassert mellom hvert par tilstøtende filosoffer. Hver filosof må alternativt tenke og spise. En filosof kan imidlertid bare spise spaghetti når han har både venstre og høyre gafler.

The "Dining Philosophers"

Hva er forskjellen mellom Deadlock og Sult?

• Prosess:

• I døddokkel venter de to trådene eller prosessene på hverandre, og begge går ikke fremover.

• Ved sult, når to eller flere tråder eller prosesser venter på samme ressurs, ruller man tilbake og lar de andre bruke ressursen først og neste, vil den sultende tråden eller prosessen forsøke igjen. Derfor vil alle tråder eller prosesser fremdeles fortsette fremover.

• Rolling Back:

• I en blindlock vil både høyt prioriterte tråder / prosesser, samt lavt prioriterte tråder / prosesser vente på hverandre uendelig. Det slutter aldri.

• Men i en sult vil lavprioriter vente eller rulle tilbake, men høy prioritet vil fortsette.

• Venter eller lås:

• En dødlås er en sirkulær venter.

• En sult er en slags livlokk og hjelper noen ganger å komme seg ut fra en dødlås.

• Dødsfall og sult:

• Dødsfall forårsaker sult, men sult fører ikke til en dødsfall.

• Årsaker:

• Dødsfall vil oppstå på grunn av gjensidig utestenging, vent og vent, ingen forhåndsinnstilling eller sirkulær venter.

• Sultring oppstår på grunn av mangel på ressurser, ukontrollert ressursforvaltning og prosessprioriteter.

Sammendrag:

Deadlock vs Sulting

Deadlock og sult er noen av problemene som oppstår på grunn av datahall og raseforhold som oppstår under programmering, samt implementering av maskinvare. I en deadlock vil to tråder uendelig vente på hverandre uten å utføre mens en tråd ruller tilbake og la den andre tråden til å bruke ressursene i en sult. En dødlokk vil forårsake sult mens hevelse vil hjelpe en tråd for å komme seg ut fra en dødlås.

Bilder Courtesy:

  1. Computer av Steve Jurvetson fra Menlo Park, USA (CC BY 2. 0)
  2. "Spisefilosofene" av Bdesham (CC BY-SA 3. 0)