Deadlocks - Deadlock Characterization
4 belangrijke vragen over Deadlocks - Deadlock Characterization
Wat zijn de vier noodzakelijke voorwaarden voor het optreden van een deadlock?
- Mutual exclusion: een gemeenschappelijke hulpbron mag slechts aan één proces tegelijk worden toegewezen;
- Hold and wait: terwijl een proces wacht houdt het een hulpbron vast;
- No preemption: een hulpbron kan door een proces alleen vrijwillig worden vrijgegeven;
- Circulair wait: er is sprake van een cyclus waarin elk proces wacht op een hulpbron die wordt vastgehouden door een volgend proces.
Hoe kun je in een resource-allocation graph een deadlocksituatie herkennen?
- De graaf bevat een gerichte lus (cykel)
- Het aantal benodigde instanties van een hulpbron is groter dan het aantal beschikbare hulpbronnen
Wat is een resource-allocation graph?
Een resource-allocation graph bestaat uit een verzameling vertices P (de actieve processen), een verzameling vertices R (de resourcetypen) en een verzameling gerichte edges E.
Een edge van process P naar resourcetype R betekent dat proces P een instantie van resourcetype R heeft aangevraagd. Zo'n edge heet een request edge.
Een edge van resourcetype R naar process P betekent dat een instantie van resourcetype R is toegewezen aan process P. Zo'n edge heet een assigment edge.
Door middel van stippen wordt het aantal instanties van een resourcetype aangegeven.
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Duidt de aanwezigheid van een cycle in een resource-allocation graph op een deadlocksituatie?
Nee, dat is niet noodzakelijk het geval. Of sprake is van een deadlocksituatie is afhankelijk van welke processen de resources de vasthouden.
De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden
![Trustpilot-logo](/images/design_2020/lp/clp-trustpilot-nl.png)