Forskellen mellem Deadlock og Starvation i OS

Forfatter: Laura McKinney
Oprettelsesdato: 3 April 2021
Opdateringsdato: 23 April 2024
Anonim
How economic inequality harms societies | Richard Wilkinson
Video.: How economic inequality harms societies | Richard Wilkinson

Indhold


Deadlock og Starvation er begge betingelserne, hvor processerne, der anmoder om en ressource, er blevet forsinket i lang tid. Selvom deadlock og sult begge er forskellige fra hinanden i mange aspekter. deadlock er en betingelse, hvor ingen proces fortsætter til udførelse, og hver af dem venter på ressourcer, der er erhvervet af de andre processer. På de andre hænder, ind Sult, proces med høje prioriteter bruger løbende ressourcer, der forhindrer lavprioritet proces til at erhverve ressourcerne. Lad os diskutere nogle flere forskelle mellem dødvande og sult ved hjælp af sammenligningstabellen vist nedenfor.

  1. Sammenligningstabel
  2. Definition
  3. Vigtige forskelle
  4. Konklusion

Sammenligningstabel

Grundlag for sammenligningdeadlockSult
GrundlæggendeDeadlock er hvor ingen proces fortsætter og blokeres.Sult er, hvor processer med lav prioritet blokeres, og processen med høj prioritet fortsætter.
Opstår tilstandForekomsten af ​​gensidig udelukkelse, hold og vent, ingen præference og cirkulær venter samtidig.Håndhævelse af prioriteter, ukontrolleret ressourcestyring.
Andet navnCirkelformet vent.LifeLock.
RessourcerI deadlocked blokeres de anmodede ressourcer af de andre processer.I sult bruges de ønskede ressourcer kontinuerligt af processer med høj prioritet.
ForebyggelseUndgå gensidig udstødelse, hold og vent og cirkulær vent og tilladelse til undtagelse. Aging.


Definition af Deadlock

Deadlock er en situation, hvor de forskellige processer i CPU konkurrerer om det begrænsede antal ressourcer, der er tilgængelige i CPU'en. Her har hver proces en ressource og venter på at erhverve en ressource, der er i besiddelse af en anden proces. Alle processer venter på ressourcer på en cirkulær måde. På billedet herunder kan du se, at Process P1 har erhvervet ressource R2, der anmodes om af proces P2, og Process P1 anmoder om ressource R1, som igen besiddes af R2. Så process P1 og P2 danner en deadlock.

Deadlock er et almindeligt problem i multiprocessering af operativsystemer, distribuerede systemer og også i parallelle computersystemer. Der er fire betingelser, der skal forekomme samtidig for at hæve betingelsen for dødvande, som er gensidig udelukkelse, hold og venter, ingen præference og cirkulær ventetid.


  • Gensidig udelukkelse: Kun en proces ad gangen kan bruge en ressource, hvis en anden proces anmoder om den samme ressource, den skal vente til processen, der bruger ressource frigiver den.
  • Hold og vent: En proces skal have en ressource og vente på at erhverve en anden ressource, der er i besiddelse af en anden proces.
  • Ingen præference: Processen med ressourcerne kan ikke undgås. Processen, der holder ressourcen, skal frigive ressourcen frivilligt, når den har afsluttet sin opgave.
  • Cirkelformet vente: Processen skal vente på ressourcer på en cirkulær måde. Antag, at vi har tre processer {P0, P1, P2}. P0 skal vente på den ressource, der er i P1; P1 skal vente med at erhverve den ressource, der er indeholdt i proces P2, og P2 skal vente med at erhverve den proces, der er indeholdt af P0.

Selvom der er nogle applikationer, der kan registrere de programmer, der kan blive dødvandet. Men operativsystemet er aldrig ansvarligt for at forhindre deadlocks. Det er programmerernes ansvar at designe deadlock-gratis programmer. Det kan gøres ved at undgå ovennævnte forhold, der er nødvendige for dødvandsforekomst

Definition af sult

Sult kan defineres som når en procesanmodning om en ressource og denne ressource kontinuerligt er blevet brugt af de andre processer, så er den anmodende proces udsat for sult. I sult venter en proces, der er klar til at udføre, på, at CPU tildeles ressourcen. Men processen skal vente på ubestemt tid, da de andre processer kontinuerligt blokerer de ønskede ressourcer.

Problemet med sult forekommer generelt i prioritetsplanlægningsalgoritme. I prioriteringsplanlægningsalgoritme tildeles processen med højere prioritet altid ressourcen, hvilket forhindrer, at processen med lavere prioritet får den ønskede ressource.

Aging kan løse problemet med sult. Aldring øger gradvist prioriteten i den proces, der har ventet længe på ressourcerne. Aldring forhindrer en proces med lav prioritet i at vente på ubestemt tid på en ressource.

  1. I en deadlock fortsætter ingen af ​​processerne til udførelse, hver proces blokeres og venter på de ressourcer, der er erhvervet af den anden proces. På den anden side er sult en betingelse, hvor de processer, der har højere prioritet, får lov til at erhverve ressourcerne kontinuerligt ved at forhindre, at processerne med lav prioritet erhverver ressourcer, hvilket resulterer i ubestemt blokering af processer med lav prioritet.
  2. Deadlock opstår når fire forhold Gensidig udelukkelse, hold og vent, ingen præference og cirkulær vent forekommer samtidig. Sult forekommer imidlertid, når processen prioriteter er blevet håndhævet under tildeling af ressourcer, eller der er ukontrolleret ressourcestyring i systemet.
  3. Deadlock kaldes ofte ved navn cirkulær vent hvorimod sulten kaldes Boede lås.
  4. I Deadlock blokeres ressourcerne af processen, mens processerne i sult kontinuerligt bruges af processerne med høje prioriteter.
  5. Deadlock kan forhindres ved at undgå forholdene som gensidig udelukkelse, hold og vent og cirkulær vent og ved at tillade undtagelse af de processer, der holder ressourcer i lang tid. På den anden side kan sult forhindres ved aldrende.

Konklusion:

Både Deadlock og Starvation forsinker udførelsen af ​​processen ved at blokere den. På den ene side, hvor deadlock kan få processer til at sulte, og på den anden side kan sult få processerne ud af dødvandet.