Please enable JavaScript.
Coggle requires JavaScript to display documents.
(7) DeadLock - Coggle Diagram
(7) DeadLock
Condizioni per le risorse di deadlock
Mutual exclusion
Hold and wait
No peemption (prelazione)
Circular wait
Prevenire un deadlock
eliminazione Mutual Exclusion
Spool di tutto
Accedo allo spooler tramite un buffer
Diventa un problema produttore-consumatore
Possibili inconsistenze
eliminazione Hold and wait
Se un processo ha delle risorse prima di prenderne altre deve lasciare quelle che ha già
Allocazione risorse tutte insieme
eliminazione NO Preemption
Necessario che la risorsa sia prelazionabile di natura (Es. una stampante non può stampare parti di un documento e parti di un altro).
eliminazione Circular Wait
Ordinare numericamente le risorse
Varianti sul tema deadlock
Two-phase locking
Provo a bloccare tutte le risorse una alla volta, se non ci riesco rilascio tutto
Communication deadlock
Tra sistemi distribuiti -->ognuno aspetta la comunicazione delll'altro
Livelock
Processi che vogliono acquisire la risorsa la rilasciano e provano a riprenderla
Starvation
Pur potendo accedere alla risorsa non riesco ad ottenerlo (es. priorità bassa)
Risorsa
Prelazionabile e NON prelazionabile
Ciclo di utilizzo di una risorsa
Acquisizione delle risorse
Risolvere un deadlock
Prelazione di risorse (temporaneamente)
Eliminazione di processi
Roll back point:
Evitare un deadlock
Stato sicuro
Stato non sicuro
Algoritmo del banchiere
Trovare e risolvere i deadlock
algoritmo di Dijkstra /del banchiere
Trovare un deadlock
Algoritmo per risorse multiple
Vettore E
Vettore A
Una matrice C
Una matrice R