ESET Glossary – Obsah

Vzájemné zablokování (deadlock)

Ke vzájemnému blokování dochází, když počítače vzájemně čekají na prostředek, který drží jiný proces. Je důležité zabránit vzniku deadlocku dříve, než k němu dojde. Plánovač prostředků může detekovat výskyt deadlocku, což pomáhá operačnímu systému sledovat prostředky přidělené různým procesům. K deadlocku může dojít, pokud současně platí následující čtyři podmínky:

Žádná preemptivní akce – prostředek může být uvolněn pouze dobrovolně procesem, který jej drží, poté, co tento proces dokončí svůj úkol.

Vzájemné vyloučení – speciální binární semafor používaný k řízení přístupu ke sdílenému prostředku, který umožňuje, aby aktuální úlohy s vyšší prioritou byly blokovány co nejkratší dobu.

Držení a čekání – tento stav nastane, pokud proces drží jeden nebo více prostředků a současně čeká na přidělení dalších.

Kruhové čekání – definuje celkové pořadí všech typů prostředků. Kruhové čekání také vyžaduje, aby každý proces požadoval prostředky ve vzestupném pořadí.

Vznik vzájemného zablokování můžete vyřešit třemi způsoby:

Nedovolte, aby se systém dostal do stavu vzájemného blokování.

Nechte vzájemné zablokování nastat, poté se pokuste mu zabránit, zatímco probíhá.

Pokud dojde ke vzájemnému zablokování, restartujte systém.