Nøgleforskel: Deadlock henviser til situationen, når processer sidder fast i cirkulær venter på ressourcerne. På den anden side opstår der sult, når en proces venter på en ressource på ubestemt tid. Deadlock indebærer sult, men sult betyder ikke at døden er død.
Et simpelt eksempel på det er et system med to bånddrev, og to processer besætter hver en bånddrev og venter på den anden som kravet om at fortsætte videre.
Det er vigtigt at nævne, at situationen for dødsfallet forekommer, hvis disse fire betingelser gælder alle samtidig -
- Gensidig udelukkelse - en ressource kan kun bruges af en proces ad gangen
- Hold og vent - en proces, der besætter mindst en ressource, skal erhverve en ekstra ressource, som er besat af en anden proces, og derfor venter denne proces på, at denne ressource frigives
- Ingen indfrielse - ressource frigives kun ved den proces, der har besat den efter færdiggørelsen af sin opgave.
- Cirkulær ventetid - alle processer i sætene venter på en ressource, der afholdes af andre processer, som også omfatter den sidste proces i sættet.
Det sker som en proces med dårligere prioritet nevers får ressourcen på grund af et konstant flow af processer med bedre prioritet end det, og derfor må processen muligvis vente for evigt. Løsningen til at håndtere hungersnød er at sikre, at en uafhængig leder skal forvalte ressourceallokeringerne og sikre, at hver proces får ressourcen på et eller andet tidspunkt. Tilfældige og ukontrollerede valg eller konkurrence skal undgås for at forhindre sult. Deadlock indebærer sult, men sultning indebærer ikke dødlås.
Derfor adskiller hinanden hinanden. Deadlock opstår, når ingen af processerne i sættet er i stand til at gå videre på grund af belægning af de krævede ressourcer ved en anden proces. På den anden side opstår der sult, når en proces venter på ubestemt tid for at få den ressource, det kræver.
Sammenligning mellem dødgang og sult:
deadlock | Sult | |
Definition | Deadlock opstår, når ingen af processerne i sættet er i stand til at gå videre på grund af belægning af de krævede ressourcer ved en anden proces | Sultning opstår, når en proces venter på ubestemt tid for at få den ressource, det kræver. |
Andet navn | Cirkulær venter | Levede lås |
Arising betingelser | Disse fire betingelser opstår samtidigt - gensidig udelukkelse, hold og vent, ingen præfusion og cirkulær hvid | Ukontrolleret forvaltning af ressourcer Procesprioriteter er strenge håndhævelser Manglende ressourcer |
Undgåelse / forebyggende teknikker |
|
|
Fremskridt | Ingen proces kan gøre fremskridt | Bortset fra ofrets proces kan andre processer gå videre eller fortsætte |
Slutning | Kræver ekstern intervention | Må eller måske ikke kræve ekstern intervention |