Skillnaden mellan Deadlock och Starvation i OS

Författare: Laura McKinney
Skapelsedatum: 3 April 2021
Uppdatera Datum: 23 April 2024
Anonim
The French Revolution: Crash Course World History #29
Video: The French Revolution: Crash Course World History #29

Innehåll


Deadlock och Starvation är båda villkoren där processerna som begär en resurs har försenats länge. Även om dödläge och svält båda skiljer sig från varandra i många aspekter. Dödläge är ett villkor där ingen process fortsätter för körning och var och en väntar på resurser som har förvärvats av de andra processerna. Å andra sidan, in Svält, process med höga prioriteringar använder kontinuerligt de resurser som förhindrar lågprioritetsprocess för att förvärva resurserna. Låt oss diskutera några fler skillnader mellan dödläge och svält med hjälp av jämförelsediagram som visas nedan.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelseDödlägeSvält
GrundläggandeDeadlock är där ingen process fortsätter och blockeras.Svält är där processer med låg prioritet blockeras och processen med hög prioritet fortsätter.
Uppstår skickFörekomsten av ömsesidig uteslutning, Håll och vänta, Ingen förbehåll och Cirkulär vänta samtidigt.Hantering av prioriteringar, okontrollerad resurshantering.
Annat namnCirkulär vänta.Life.
MedelI slutlåst blockeras begärda resurser av de andra processerna.I svält används de begärda resurserna kontinuerligt av processer med hög prioritet.
FörebyggandeUndvika ömsesidig uteslutning, hålla och vänta och cirkulär vänta och tillåta förbehåll. Aging.


Definition av Deadlock

Deadlock är en situation där flera processer i CPU tävlar om det begränsade antalet resurser som finns tillgängliga inom CPU. Här har varje process en resurs och väntar på att skaffa en resurs som innehas av någon annan process. Alla processer väntar på resurser på ett cirkulärt sätt. På bilden nedan kan du se att Process P1 har förvärvat resurs R2 som begärs av process P2 och Process P1 begär resurs R1 som återigen hålls av R2. Så process P1 och P2 bildar en dödlås.

Deadlock är ett vanligt problem i multiprocesseringsoperativsystem, distribuerade system och även i parallella datorsystem. Det finns fyra förhållanden som måste uppstå samtidigt för att höja villkoret för dödlås, som är ömsesidig uteslutning, Håll och väntar, Ingen förbehåll och cirkulär vänta.


  • Ömsesidig uteslutning: Endast en process i taget kan använda en resurs om en annan process begär samma resurs, den måste vänta tills processen med resurs släpper den.
  • Håll och vänta: En process måste ha en resurs och vänta på att skaffa en annan resurs som hålls av någon annan process.
  • Ingen förfrågan: Processen med resurserna kan inte föregås. Processen som håller resursen måste släppa resursen frivilligt när den har slutfört sin uppgift.
  • Cirkulär vänta: Processen måste vänta på resurser på ett cirkulärt sätt. Anta att vi har tre processer {P0, P1, P2}. P0 måste vänta på den resurs som innehas av P1; P1 måste vänta för att förvärva resursen som hålls av processen P2, och P2 måste vänta på att skaffa den process som innehas av P0.

Även om det finns några applikationer som kan upptäcka programmen som kan komma att vara låsta. Men operativsystemet ansvarar aldrig för att förhindra dödlås. Det är programmerarnas ansvar att designa deadlockfria program. Det kan göras genom att undvika ovanstående förhållanden som är nödvändiga för dödläge

Definition av svält

Svält kan definieras som när en processbegäran för en resurs och den resurs kontinuerligt har använts av de andra processerna då den begärande processen utsätts för svält. I svält väntar en process som är klar att utföra för att CPU ska fördela resursen. Men processen måste vänta på obestämd tid eftersom de andra processerna kontinuerligt blockerar de begärda resurserna.

Problemet med svält uppstår i allmänhet i prioriterad schemaläggningsalgoritm. I algoritmen för prioriterad schemaläggning tilldelas alltid processen med högre prioritet resursen, vilket hindrar processen med lägre prioritet från att få den begärda resursen.

åldrande kan lösa svältproblemet. Åldrande ökar gradvis prioriteten för processen som har väntat länge på resurserna. Åldrande förhindrar att en process med låg prioritet väntar på obestämd tid på en resurs.

  1. I ett dödläge fortsätter ingen av processerna för körning, varje process blockeras och väntar på de resurser som förvärvats av den andra processen. Å andra sidan är svält ett villkor där de processer som har högre prioritet tillåts förvärva resurserna kontinuerligt genom att förhindra att processerna med låg prioritet får förvärvade resurser vilket resulterar i obestämd blockering av processer med låg prioritet.
  2. Dödlås uppstår när fyra villkor Ömsesidig uteslutning, Håll och vänta, Ingen förhandsgranskning och Cirkulär vänta inträffar samtidigt. Men svält inträffar när processen prioriteringar har verkställts medan resurser fördelas, eller så finns det okontrollerad resurshantering i systemet.
  3. Deadlock kallas ofta med namnet cirkulär vänta medan svältningen kallas Bode lås.
  4. I Deadlock blockeras resurserna av processen medan processerna kontinuerligt används i svält, av processerna med höga prioriteringar.
  5. Dödlås kan förhindras genom att undvika villkoren som ömsesidig uteslutning, Håll och vänta och cirkulär vänta och genom att tillåta befrielse från de processer som håller resurser under lång tid. Å andra sidan kan svält förhindras av åldring.

Slutsats:

Både Deadlock och Starvation försenar processutförandet genom att blockera det. Å ena sidan där dödläge kan få processer att svälta, och å andra sidan kan svält få processerna ur dödlåset.