Title: Sistemi Operativi / 2 - Architettura / 04 - Risorse

Q: Def: risorse, caratteristiche e caso di deadlock
A: ## Assegnazione Statica e Dinamica
Assegazione statica significa che devono essere assegnate durante la creazione del processo e poi non più assegnate fino alla terminazione.
Dinamica: i processi la richiedono durante l'esecuzione e la rilasciano durante essa.
## Richiesta singola e multipla
## Richiesta bloccante e non Bloccante
Bloccante il processo attende finchè non è libera e viene avviene  l'assegnazione, non Bloccante la mancata assegnazione viene segnalata al processo
## Condivisibili e Non Condivisibili
Condivisibili: più processi la possono avere contemporaneamente
Non Condivisibili: più processi non possono avere contemporaneamente
## Preemtable
Preemptable: una risorsa si dice prerilasciabile se la funzione di gestione può sottrarla ad un processo prima che questo l'abbia effettivamente rilasciata.
## Affinchè ci sia lo stato di deadlock le risorse devono essere
- non condivisibili
- non prerilasciabili
- bloccanti
- deve verificarsi una attesa circolare

Q: introduzione al grafo di holt, e differenza tra deadlock detenction recovery, preventio e avoidance
A: ## Grafo di Holt

Q: Deadlock detection
A: Teorema: se le risorse sono a richiesta bloccante,non condivisibili e non prerilasciabili; E esiste una sola risorsa per classe stato è di deadlock se e solo se il grafo di Holt contiene un ciclo
Un grafo di Holt è riducibile: se esiste almeno un nodo processo con solo archi entranti
Teorema: se le risorse sono a richiesta bloccante, non condivisibili e non prerilasciabili lo stato non è di deadlock se e solo se il grafo di Holt è completamente riducibile, i.e. esiste una sequenza di passi di riduzione che elimina tutti gli archi del grafo
A vertex vi in a directed graph is in a knot if for every vertex vj reachable from vi, vi is reachable from vj

Q: Deadlock recovery
A: Terminazione totale: tutti i processi coivolti vengono terminati
Terminazione parziale:  viene eliminato un processo alla volta, fino a quando il deadlock non scompare
Checkpoint/rollback:
- lo stato dei processi viene periodicamente salvato su disco (checkpoint)
- in caso di deadlock, si ripristina (rollback) uno o più processi ad uno stato precedente, fino a quando il deadlock non scompare

Q: Deadlock prevention
A: Prevention:  per evitare il deadlock si elimina una delle quattro condizioni
del deadlock

Q: Deedlock Avoidance
A: Deadlock avoidance : prima di assegnare una risorsa ad un processo, si controlla se l'operazione può portare al pericolo di deadlock
## algoritmo del banchiere
Azioni clienti:
- richieste di prestito
- restituzioni
Descrizione:
- il denaro prestato ad ogni cliente non può mai eccedere la necessità massima specificata a priori
- ogni cliente può fare richieste multiple, fino al massimo importo specificato
- una volta che le richieste sono state accolte e il denaro è stato ottenuto deve garantire la restituzione in un tempo finito
Quando arriva una richiesta di modifica si prova ad aggiornare la tabella con quella modifica, se mettendolo il nuovo mette lo stato in unsafe allora non si aggiorna la tabella e si mette in una coda la richiesta.
## Se ammettiamo più monete

Condizioni di deadlock